diff --git a/src/aki_prj23_transparenzregister/models/company.py b/src/aki_prj23_transparenzregister/models/company.py index 7d3fe43..1f272fd 100644 --- a/src/aki_prj23_transparenzregister/models/company.py +++ b/src/aki_prj23_transparenzregister/models/company.py @@ -123,7 +123,7 @@ class PersonToCompanyRelationship(CompanyRelationship): class CompanyToCompanyRelationship(CompanyRelationship): """Extension of CompanyRelationship with extras for Company.""" - description: str + name: str class FinancialKPIEnum(Enum): diff --git a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform.py b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform.py index dd0d381..5707564 100644 --- a/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform.py +++ b/src/aki_prj23_transparenzregister/utils/data_extraction/unternehmensregister/transform.py @@ -4,6 +4,7 @@ import glob import json import os import re +import sys from datetime import datetime import xmltodict @@ -62,9 +63,9 @@ def parse_stakeholder(data: dict) -> CompanyRelationship | None: if data["Beteiligter"]["Natuerliche_Person"]["Voller_Name"]["Vorname"] is None: return CompanyToCompanyRelationship( **{ - "description": data["Beteiligter"]["Natuerliche_Person"][ - "Voller_Name" - ]["Nachname"], + "name": data["Beteiligter"]["Natuerliche_Person"]["Voller_Name"][ + "Nachname" + ], "location": Location( **{ "city": data["Beteiligter"]["Natuerliche_Person"][ @@ -127,7 +128,7 @@ def parse_stakeholder(data: dict) -> CompanyRelationship | None: "role": RelationshipRoleEnum( data["Rolle"]["Rollenbezeichnung"]["content"] ), - "description": data["Beteiligter"]["Organisation"]["Bezeichnung"][ + "name": data["Beteiligter"]["Organisation"]["Bezeichnung"][ "Bezeichnung_Aktuell" ], "location": Location( @@ -324,7 +325,7 @@ def map_business_purpose(data: dict) -> str | None: return data["XJustiz_Daten"]["Fachdaten_Register"]["Basisdaten_Register"][ "Gegenstand_oder_Geschaeftszweck" ] - except Exception: + except KeyError: return None @@ -491,7 +492,6 @@ if __name__ == "__main__": json.dump( dataclasses.asdict(company), export_file, ensure_ascii=False ) - except Exception as e: + except Exception: logger.error(f"Error in processing {path}") - logger.error(e) - break + sys.exit(1) diff --git a/tests/utils/data_extraction/unternehmensregister/transform_test.py b/tests/utils/data_extraction/unternehmensregister/transform_test.py index 3d9cf42..9fa0028 100644 --- a/tests/utils/data_extraction/unternehmensregister/transform_test.py +++ b/tests/utils/data_extraction/unternehmensregister/transform_test.py @@ -51,7 +51,7 @@ def test_parse_stakeholder_org_hidden_in_person() -> None: } expected_result = CompanyToCompanyRelationship( role=RelationshipRoleEnum.KOMMANDITIST, # type: ignore - description="Some Company KG", + name="Some Company KG", type=CompanyRelationshipEnum.COMPANY, location=Location(**{"city": "Area 51"}), ) @@ -96,7 +96,7 @@ def test_parse_stakeholder_org() -> None: "Rolle": {"Rollenbezeichnung": {"content": "Geschäftsführender Direktor"}}, } expected_result = CompanyToCompanyRelationship( - description="Transparenzregister kG", + name="Transparenzregister kG", role=RelationshipRoleEnum.DIREKTOR, # type: ignore type=CompanyRelationshipEnum.COMPANY, location=Location(