Loading muffin/payment_order/PaymentOrderLoader.py +15 −11 Original line number Diff line number Diff line from pathlib import Path from typing import Optional from pypdf import PdfReader Loading @@ -10,17 +11,20 @@ def load_pdf(pdf_path: Path | str) -> PaymentOrder: with PdfReader(pdf_path) as reader: fields = reader.get_fields() # TODO # for field, value in fields.items(): # print(field, "=", value) def f(name: str) -> Optional[str]: return fields[name].value if fields.get(name) else None def fs(*names: str) -> Optional[str]: values = (f(name) for name in names) return "\n".join(value for value in values if value) or None return PaymentOrder( petitioner_name=fields["Name"].value, petitioner_contact=fields["Kontaktdaten"].value, reference=fields["Text6"].value + "\n" + fields["Text7"].value, amount=parse_euro_amount(fields["Text8"].value), payee_name=fields["Text9"].value, payee_iban="DE" + fields["Text10"].value, payee_bic=fields["Text11"].value, budgetary_item_id=fields["Text12"].value, petitioner_name=f("Name"), petitioner_contact=f("Kontaktdaten"), reference=fs("Text6", "Text7"), amount=parse_euro_amount(f("Text8")), payee_name=f("Text9"), payee_iban="DE" + f("Text10"), payee_bic=f("Text11"), budgetary_item_id=f("Text12"), ) Loading
muffin/payment_order/PaymentOrderLoader.py +15 −11 Original line number Diff line number Diff line from pathlib import Path from typing import Optional from pypdf import PdfReader Loading @@ -10,17 +11,20 @@ def load_pdf(pdf_path: Path | str) -> PaymentOrder: with PdfReader(pdf_path) as reader: fields = reader.get_fields() # TODO # for field, value in fields.items(): # print(field, "=", value) def f(name: str) -> Optional[str]: return fields[name].value if fields.get(name) else None def fs(*names: str) -> Optional[str]: values = (f(name) for name in names) return "\n".join(value for value in values if value) or None return PaymentOrder( petitioner_name=fields["Name"].value, petitioner_contact=fields["Kontaktdaten"].value, reference=fields["Text6"].value + "\n" + fields["Text7"].value, amount=parse_euro_amount(fields["Text8"].value), payee_name=fields["Text9"].value, payee_iban="DE" + fields["Text10"].value, payee_bic=fields["Text11"].value, budgetary_item_id=fields["Text12"].value, petitioner_name=f("Name"), petitioner_contact=f("Kontaktdaten"), reference=fs("Text6", "Text7"), amount=parse_euro_amount(f("Text8")), payee_name=f("Text9"), payee_iban="DE" + f("Text10"), payee_bic=f("Text11"), budgetary_item_id=f("Text12"), )