From 4c13c23a74e90943d06ba0b8841d33b92e2bbbf0 Mon Sep 17 00:00:00 2001 From: Maximilian Moser <maximilian.moser@tuwien.ac.at> Date: Tue, 13 Jul 2021 12:03:13 +0200 Subject: [PATCH] Remove the setting of creatibutor names --- invenio_utilities_tuw/cli/drafts.py | 4 ---- invenio_utilities_tuw/cli/records.py | 2 -- invenio_utilities_tuw/cli/utils.py | 25 ------------------------- 3 files changed, 31 deletions(-) diff --git a/invenio_utilities_tuw/cli/drafts.py b/invenio_utilities_tuw/cli/drafts.py index bc93ea3..f6f1ec9 100644 --- a/invenio_utilities_tuw/cli/drafts.py +++ b/invenio_utilities_tuw/cli/drafts.py @@ -35,7 +35,6 @@ from .utils import ( get_user_by_identifier, patch_metadata, read_metadata, - set_creatibutor_names, set_record_owners, ) @@ -106,7 +105,6 @@ def create_draft(metadata_path, publish, user, owners, vanity_pid): if isfile(metadata_path): metadata = read_metadata(metadata_path) - metadata = set_creatibutor_names(metadata) draft = create_record_from_metadata(metadata, identity, vanity_pid=vanity_pid) recid = draft["id"] draft.files.enabled = False @@ -119,7 +117,6 @@ def create_draft(metadata_path, publish, user, owners, vanity_pid): raise Exception("metadata file does not exist: %s" % metadata_file_path) metadata = read_metadata(metadata_file_path) - metadata = set_creatibutor_names(metadata) draft = create_record_from_metadata(metadata, identity) recid = draft["id"] draft.files.enabled = True @@ -218,7 +215,6 @@ def update_draft(metadata_file, pid, pid_type, user, patch, owners): owners = [get_user_by_identifier(owner) for owner in owners] set_record_owners(draft, owners) - metadata = set_creatibutor_names(metadata) service.update_draft(id_=pid, identity=identity, data=metadata) click.secho(pid, fg="green") diff --git a/invenio_utilities_tuw/cli/records.py b/invenio_utilities_tuw/cli/records.py index 3adb015..90412ab 100644 --- a/invenio_utilities_tuw/cli/records.py +++ b/invenio_utilities_tuw/cli/records.py @@ -31,7 +31,6 @@ from .utils import ( get_object_uuid, get_user_by_identifier, patch_metadata, - set_creatibutor_names, set_record_owners, ) @@ -131,7 +130,6 @@ def update_record(metadata_file, pid, pid_type, user, patch, owners, direct): record_data = service.read(id_=pid, identity=identity).data.copy() metadata = patch_metadata(record_data, metadata) - metadata = set_creatibutor_names(metadata) if direct: record = service.read(id_=pid, identity=identity)._record record.update(metadata) diff --git a/invenio_utilities_tuw/cli/utils.py b/invenio_utilities_tuw/cli/utils.py index 4c6f882..522ac46 100644 --- a/invenio_utilities_tuw/cli/utils.py +++ b/invenio_utilities_tuw/cli/utils.py @@ -142,31 +142,6 @@ def set_record_owners(record, owners, commit=True): db.session.commit() -def _set_creatibutor_name(creatibutor): - """Set the name from the given_name and family_name from the creator/contributor.""" - creatibutor = creatibutor.get("person_or_org", {}) - name = creatibutor.get("name") - - if not name: - given_name = creatibutor.get("given_name") - family_name = creatibutor.get("family_name") - if given_name and family_name: - creatibutor["name"] = "{}, {}".format(family_name, given_name) - - -def set_creatibutor_names(record_metadata): - """Set the name field for each creator and contributor if they're not set.""" - metadata = record_metadata.copy() - - for creator in metadata.get("metadata", {}).get("creators", []): - _set_creatibutor_name(creator) - - for contributor in metadata.get("metadata", {}).get("contributors", []): - _set_creatibutor_name(contributor) - - return metadata - - def similarity(a: str, b: str) -> float: """Calculate the similarity between two strings.""" return SequenceMatcher(None, a, b).ratio() -- GitLab