From 41b2b817aabc3207d43d7d679c95363ea70da68b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Z=C3=BCbeyde=20Civelek?= Date: Thu, 2 Apr 2026 16:45:46 +0200 Subject: [PATCH] videos(digitized): remove cds related identifier resource type --- .../videos/weblecture_migration/transform/transform.py | 6 ++++++ .../xml_processing/rules/digitized_video_lecture.py | 10 +++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/cds_migrator_kit/videos/weblecture_migration/transform/transform.py b/cds_migrator_kit/videos/weblecture_migration/transform/transform.py index 996d636d..261ed145 100644 --- a/cds_migrator_kit/videos/weblecture_migration/transform/transform.py +++ b/cds_migrator_kit/videos/weblecture_migration/transform/transform.py @@ -495,6 +495,12 @@ def get_keywords(json_data): unique_keywords = [] for kw in all_keywords: name = kw["name"] + if name == "XX": + self.migration_logger.add_information( + json_data["recid"], + {"message": "Keyword XX found and ignored!", "value": name}, + ) + continue if name not in seen: seen.add(name) unique_keywords.append(kw) diff --git a/cds_migrator_kit/videos/weblecture_migration/transform/xml_processing/rules/digitized_video_lecture.py b/cds_migrator_kit/videos/weblecture_migration/transform/xml_processing/rules/digitized_video_lecture.py index 540657b8..5d00467e 100644 --- a/cds_migrator_kit/videos/weblecture_migration/transform/xml_processing/rules/digitized_video_lecture.py +++ b/cds_migrator_kit/videos/weblecture_migration/transform/xml_processing/rules/digitized_video_lecture.py @@ -96,7 +96,12 @@ def validate_copyright(self, key, holder, year): @model.over("related_id", "^962__", override=True) @for_each_value def related_id(self, key, value): - """Translates tag 962.""" + """ + Overridden version of the `presented_at` rule. + + This rule uses the new `related_id` key so that only tag 962 handling is customized, + without overriding all rules for related identifiers. + """ pagination = value.get("k", "").strip() # Only 2 records has this field: 300427, 317239 if pagination and pagination != "no pagination": @@ -104,10 +109,12 @@ def related_id(self, key, value): new_related_id = presented_at(self, key, value) if new_related_id: rel_id = new_related_id[0] + rel_id.pop("resource_type", None) rel_ids = self.get("related_identifiers", []) if rel_id not in rel_ids: rel_ids.append(rel_id) self["related_identifiers"] = rel_ids + # Related identifier is already added, ignore this key raise IgnoreKey("related_id") @@ -418,6 +425,7 @@ def creation_date(self, key, value): @for_each_value def action_note(self, key, value): """Translates action note (digitized information).""" + def format_field(value, subfield): val = value.get(subfield) if isinstance(val, (list, tuple)):