From 231f53eb7ad1985d60c3f31ec5b3a444c49c57f8 Mon Sep 17 00:00:00 2001 From: "Gerber, Mike" Date: Thu, 7 Aug 2025 20:07:20 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=A7=B9=20MODS:=20Remove=20extra=20attribu?= =?UTF-8?q?tes=20in=20mods:titleInfo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/mods4pandas/lib.py | 8 ++++++++ src/mods4pandas/mods4pandas.py | 1 + 2 files changed, 9 insertions(+) diff --git a/src/mods4pandas/lib.py b/src/mods4pandas/lib.py index ff33c2a..fed3a01 100644 --- a/src/mods4pandas/lib.py +++ b/src/mods4pandas/lib.py @@ -194,6 +194,14 @@ class TagGroup: warnings.warn("Added type='text')") return self + def remove_attributes(self, attribs) -> TagGroup: + if not isinstance(attribs, Sequence): + attribs = [attribs] + for e in self.group: + for a in attribs: + e.attrib.pop(a, None) + return self + def merge_sub_tags_to_set(self) -> dict: from .mods4pandas import mods_to_dict diff --git a/src/mods4pandas/mods4pandas.py b/src/mods4pandas/mods4pandas.py index 3252999..888aba4 100755 --- a/src/mods4pandas/mods4pandas.py +++ b/src/mods4pandas/mods4pandas.py @@ -200,6 +200,7 @@ def mods_to_dict(mods, raise_errors=True): TagGroup(tag, group) .filter(only_standard_title) .is_singleton() + .remove_attributes(["ID", "{http://www.w3.org/XML/1998/namespace}lang"]) .has_no_attributes() .descend(raise_errors) )