diff --git a/CHANGELOG.md b/CHANGELOG.md index 02666f0..c1dc896 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,10 @@ Non-collectable elements are various sub-elements to collectable elements. ## [Unreleased] +### Fixed + +* Fixed parsing error on elements containing `ADMIN-DATA`. + ### Changed * Reader class attempts to resume parsing at next element if an error occurs. diff --git a/pyproject.toml b/pyproject.toml index 62348c8..c3673e4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "autosar" -version = "0.5.4a1" +version = "0.5.4a2" description = "A set of Python modules for working with AUTOSAR XML files" readme = "README.md" requires-python = ">=3.10" diff --git a/src/autosar/xml/element.py b/src/autosar/xml/element.py index 7ab9ed9..ba36d1a 100644 --- a/src/autosar/xml/element.py +++ b/src/autosar/xml/element.py @@ -315,6 +315,7 @@ def __init__(self, desc: Union["MultiLanguageOverviewParagraph", tuple[ar_enum.Language, str], str, None] = None, category: str | None = None, uuid: str | None = None, + admin_data: Union["AdminData", None] = None, **kwargs) -> None: super().__init__(name, **kwargs) self.desc: MultiLanguageOverviewParagraph | None = None @@ -323,6 +324,7 @@ def __init__(self, self.introduction = None self.annotations = None self.uuid = None + self.admin_data: Union["AdminData", None] = None if desc is not None: if isinstance(desc, MultiLanguageOverviewParagraph): self.desc = desc diff --git a/src/autosar/xml/reader.py b/src/autosar/xml/reader.py index e41337d..0b23fcd 100644 --- a/src/autosar/xml/reader.py +++ b/src/autosar/xml/reader.py @@ -476,7 +476,7 @@ def _read_admin_data(self, xml_element: ElementTree.Element) -> ar_element.Admin element_map.skip('USED-LANGUAGES') # Implement later element_map.skip('DOC-REVISIONS') # Implement later xml_sdgs = element_map.get('SDGS') - if xml_sdgs: + if len(xml_sdgs): data['data'] = self._read_admin_data_sdgs(xml_sdgs) return ar_element.AdminData(**data)