From 556e5eb31c365042a811e6fa84471fdb3b443a4e Mon Sep 17 00:00:00 2001 From: jonavellecuerdo Date: Fri, 7 Jun 2024 12:43:06 -0400 Subject: [PATCH] Address comments in ead.py --- transmogrifier/sources/xml/ead.py | 41 ++++++++++++++----------------- 1 file changed, 18 insertions(+), 23 deletions(-) diff --git a/transmogrifier/sources/xml/ead.py b/transmogrifier/sources/xml/ead.py index 35f8fbe..8dde448 100644 --- a/transmogrifier/sources/xml/ead.py +++ b/transmogrifier/sources/xml/ead.py @@ -503,42 +503,37 @@ def get_related_items(cls, source_record: Tag) -> list[timdex.RelatedItem] | Non ): if related_item_element.name == "relatedmaterial": related_items.extend(cls._get_related_material(related_item_element)) - else: # noqa: PLR5501 - if related_item := cls.create_string_from_mixed_value( - related_item_element, separator=" ", skipped_elements=["head"] - ): - related_items.append( - timdex.RelatedItem( - description=related_item, - relationship=aspace_type_crosswalk.get( - related_item_element.name, related_item_element.name - ), - ) + elif related_item := cls.create_string_from_mixed_value( + related_item_element, separator=" ", skipped_elements=["head"] + ): + related_items.append( + timdex.RelatedItem( + description=related_item, + relationship=aspace_type_crosswalk.get( + related_item_element.name, related_item_element.name + ), ) + ) return related_items or None @classmethod def _get_related_material( cls, related_material_element: Tag ) -> list[timdex.RelatedItem]: - related_materials = [] if list_element := related_material_element.find("list"): subelements = list_element.find_all("defitem") else: subelements = related_material_element.find_all("p", recursive=False) - related_materials.extend( - [ - timdex.RelatedItem(description=related_item) - for subelement in subelements - if ( - related_item := cls.create_string_from_mixed_value( - subelement, separator=" ", skipped_elements=["head"] - ) + return [ + timdex.RelatedItem(description=related_item) + for subelement in subelements + if ( + related_item := cls.create_string_from_mixed_value( + subelement, separator=" ", skipped_elements=["head"] ) - ] - ) - return related_materials + ) + ] @classmethod def get_rights(cls, source_record: Tag) -> list[timdex.Rights] | None: