diff options
Diffstat (limited to 'python/fatcat_tools/transforms')
-rw-r--r-- | python/fatcat_tools/transforms/csl.py | 6 | ||||
-rw-r--r-- | python/fatcat_tools/transforms/elasticsearch.py | 5 |
2 files changed, 7 insertions, 4 deletions
diff --git a/python/fatcat_tools/transforms/csl.py b/python/fatcat_tools/transforms/csl.py index ba199efb..15bb369f 100644 --- a/python/fatcat_tools/transforms/csl.py +++ b/python/fatcat_tools/transforms/csl.py @@ -33,19 +33,19 @@ def release_to_csl(entity): if contrib.creator: # Default to "local" (publication-specific) metadata; fall back to # creator-level - family = contrib.surname or contrib.creator.surname or (contrib.raw_name and contrib.raw_name.split()[-1]) + family = contrib.creator.surname or contrib.surname or (contrib.raw_name and contrib.raw_name.split()[-1]) if not family: # CSL requires some surname (family name) continue c = dict( family=family, - given=contrib.given_name or contrib.creator.given_name, + given=contrib.creator.given_name or contrib.given_name, #dropping-particle #non-dropping-particle #suffix #comma-suffix #static-ordering - literal=contrib.raw_name or contrib.creator.display_name, + literal=contrib.creator.display_name or contrib.raw_name, #parse-names, # role must be defined; default to author role=contrib.role or 'author', diff --git a/python/fatcat_tools/transforms/elasticsearch.py b/python/fatcat_tools/transforms/elasticsearch.py index 4bf9091a..331ca4e7 100644 --- a/python/fatcat_tools/transforms/elasticsearch.py +++ b/python/fatcat_tools/transforms/elasticsearch.py @@ -113,10 +113,13 @@ def release_to_elasticsearch(entity: ReleaseEntity, force_bool: bool = True) -> contrib_affiliations = [] creator_ids = [] for c in (release.contribs or []): - if c.raw_name: + if c.creator and c.creator.display_ame: + contrib_names.append(c.creator.display_ame) + elif c.raw_name: contrib_names.append(c.raw_name) elif c.surname: contrib_names.append(c.surname) + if c.creator_id: creator_ids.append(c.creator_id) if c.raw_affiliation: |