diff options
Diffstat (limited to 'skate/schema.go')
-rw-r--r-- | skate/schema.go | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/skate/schema.go b/skate/schema.go index e6c33ec..5696844 100644 --- a/skate/schema.go +++ b/skate/schema.go @@ -47,6 +47,7 @@ type Ref struct { Biblio Biblio `json:"biblio"` Index int64 `json:"index,omitempty"` Key string `json:"key,omitempty"` + Locator string `json:"locator:omitempty"` RefSource string `json:"ref_source,omitempty"` ReleaseYear int `json:"release_year,omitempty"` ReleaseIdent string `json:"release_ident,omitempty"` @@ -110,6 +111,11 @@ func RefToRelease(ref *Ref) (*Release, error) { if strings.Contains(strings.ToLower(ref.Biblio.Unstructured), "isbn") { release.ExtIDs.ISBN = ParseIsbn(ref.Biblio.Unstructured) } + // Extra info stashed into extra.skate.ref. + release.Extra.Skate.Ref.Index = ref.Index + release.Extra.Skate.Ref.Key = ref.Key + release.Extra.Skate.Ref.Locator = ref.Locator + release.Extra.Skate.Ref.Source = ref.RefSource return &release, nil } @@ -238,6 +244,7 @@ type Release struct { Index int64 `json:"index,omitempty"` Key string `json:"key,omitempty"` Locator string `json:"locator,omitempty"` + Source string `json:"source,omitempty"` } `json:"ref,omitempty"` ResearchGate struct { URL string `json:"url,omitempty"` @@ -618,7 +625,6 @@ func OpenLibraryEditionToRelease(v *OpenLibraryEdition, authorMap map[string]str // "marc:marc_loc_2016/BooksAll.2016.part25.utf8:104915596:921" // ] release.Extra.OpenLibrary.SourceRecords = v.SourceRecords - for _, l := range openLibraryDateLayouts { t, err := time.Parse(l, v.PublishDate) if err != nil { |