diff options
-rw-r--r-- | fatcat_scholar/transform.py | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/fatcat_scholar/transform.py b/fatcat_scholar/transform.py index b4b5c8d..50b6810 100644 --- a/fatcat_scholar/transform.py +++ b/fatcat_scholar/transform.py @@ -536,6 +536,10 @@ def refs_from_release_refs(release: ReleaseEntity) -> Sequence[RefStructured]: def refs_from_heavy(heavy: IntermediateBundle) -> Sequence[RefStructured]: + """ + Current behavior is to return *both* fatcat refs and GROBID refs if + available. + """ if heavy.doc_type != DocType.work: return [] @@ -546,19 +550,22 @@ def refs_from_heavy(heavy: IntermediateBundle) -> Sequence[RefStructured]: r for r in heavy.releases if r.ident == heavy.biblio_release_ident ][0] + refs: List[RefStructured] = [] + if primary_release.refs: # TODO: what about other releases? - return refs_from_release_refs(primary_release) - elif heavy.grobid_fulltext: + refs.extend(refs_from_release_refs(primary_release)) + + if heavy.grobid_fulltext: fulltext_release = [ r for r in heavy.releases if r.ident == heavy.grobid_fulltext["release_ident"] ][0] tei_dict = teixml2json(heavy.grobid_fulltext["tei_xml"]) - return refs_from_grobid(fulltext_release, tei_dict) - else: - return [] + refs.extend(refs_from_grobid(fulltext_release, tei_dict)) + + return refs def run_transform(infile: Sequence) -> None: |