From 9e9fa4e7abf9ceaf657b64d7b36b03bf4dbcf78a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Z=C3=BCbeyde=20Civelek?= Date: Tue, 5 May 2026 17:22:39 +0200 Subject: [PATCH] fix: update subject handling and access group mappings --- cds_migrator_kit/rdm/migration_config.py | 1 + .../rdm/records/transform/xml_processing/rules/base.py | 4 ++++ .../rdm/records/transform/xml_processing/rules/hr.py | 7 +------ 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/cds_migrator_kit/rdm/migration_config.py b/cds_migrator_kit/rdm/migration_config.py index 36b71748..72d79c89 100644 --- a/cds_migrator_kit/rdm/migration_config.py +++ b/cds_migrator_kit/rdm/migration_config.py @@ -472,6 +472,7 @@ def resolve_record_pid(pid): "HRDepExtended": ["hr-dep"], "EligibilityHRCirc": ["eligibility-retr-actual", "hr-web-gacepa"], "CERNPeopleEligibility": ["cern-personnel", "eligibility-retr-actual"], + "FAPDepRestrFile": ["fap-dep"], # CERN E-guide restricted docs: https://cds.cern.ch/admin/webaccess/webaccessadmin.py/showroledetails?id_role=69 CERN personnel has view rights } diff --git a/cds_migrator_kit/rdm/records/transform/xml_processing/rules/base.py b/cds_migrator_kit/rdm/records/transform/xml_processing/rules/base.py index 9a743263..c0b4ee17 100644 --- a/cds_migrator_kit/rdm/records/transform/xml_processing/rules/base.py +++ b/cds_migrator_kit/rdm/records/transform/xml_processing/rules/base.py @@ -155,6 +155,10 @@ def validate_subject_scheme(subject_scheme, subfield, key): is_controlled_subject = key == "65017" and (scheme in CONTROLLED_SUBJECTS_SCHEMES) + # Drop other subjects + if val_a.lower().strip() == "other subjects": + raise IgnoreKey("subjects") + if type(val_a) is tuple: # sometimes keywords are stick in one tag, so they come out as tuple s_values = val_a diff --git a/cds_migrator_kit/rdm/records/transform/xml_processing/rules/hr.py b/cds_migrator_kit/rdm/records/transform/xml_processing/rules/hr.py index fe02cd72..108a8c61 100644 --- a/cds_migrator_kit/rdm/records/transform/xml_processing/rules/hr.py +++ b/cds_migrator_kit/rdm/records/transform/xml_processing/rules/hr.py @@ -365,11 +365,7 @@ def title(self, key, value): self["additional_titles"] = alt_titles identifiers = self.get("identifiers", []) rep_num = next( - ( - identifier - for identifier in identifiers - if identifier["scheme"] == "cdsrn" - ), + (identifier for identifier in identifiers if identifier["scheme"] == "cdsrn"), {}, ).get("identifier") @@ -393,7 +389,6 @@ def title(self, key, value): return title - @model.over("meeting_cf", "^773__") @for_each_value def meeting(self, key, value):