From 1720f1b89eb5585505339d72490ea4999469e5b1 Mon Sep 17 00:00:00 2001 From: Torsten Ueberschar Date: Wed, 14 Feb 2024 19:04:57 +0100 Subject: [PATCH] start writing letter head with kundennummer, rechnungsnummer and rechnungsdatum --- src/main.py | 14 ++++++++------ test_data/RG004711.yaml | 1 + test_data/templates/invoice.html | 20 ++++++++++++++++++-- 3 files changed, 27 insertions(+), 8 deletions(-) diff --git a/src/main.py b/src/main.py index 9ac8e90..6154887 100644 --- a/src/main.py +++ b/src/main.py @@ -67,17 +67,16 @@ def main(): invoice = parse_yaml_file(invoice_file) envelope = parse_yaml_file(envelope_file) - print('Invoice data:') - print(invoice) - - print(envelope) - print('Envelope data:') envelope_data = DataObject(**envelope) print(envelope_data.__dict__) print('Invoice data:') invoice_data = DataObject(**invoice) + if not hasattr(invoice_data, 'Id'): + invoice_data.Id = None + + invoice_data.Id = invoice_data.Id or invoice_file.stem print(invoice_data.__dict__) except FileNotFoundError as e: @@ -94,7 +93,10 @@ def main(): template = generator.prepare_template(invoice_data, envelope_data) try: - html_generator.HtmlTemplate.convert_html_to_pdf(template, 'invoice.pdf') + print('Generating invoice...') + invoice_pdf = Path(invoice_data.Id).with_suffix('.pdf') + print(f'Invoice PDF: {invoice_pdf}') + html_generator.HtmlTemplate.convert_html_to_pdf(template, invoice_pdf) except Exception as e: print(f'Error: {e}') return diff --git a/test_data/RG004711.yaml b/test_data/RG004711.yaml index 4838742..39f2955 100644 --- a/test_data/RG004711.yaml +++ b/test_data/RG004711.yaml @@ -1,3 +1,4 @@ +#Id: RG004712 CustomerId: KD01234 #InvoiceDate: 2023-12-23 diff --git a/test_data/templates/invoice.html b/test_data/templates/invoice.html index 96c06ea..2302a1a 100644 --- a/test_data/templates/invoice.html +++ b/test_data/templates/invoice.html @@ -42,6 +42,7 @@ #letter_head_content { background-color: lightblue; } + @@ -57,15 +58,30 @@
{% for address in envelope.AddressContent.Contents %} - {% if address.Head %} + {% if address.Head %}

{{ address.Head }}

- {% endif %} + {% endif %}

{{ address.Text | replace('\n', '
') }}

{% endfor %}
+ + + + + + + + + + + + +
Rechnungsnummer:Kundennummer:Rechnungsdatum:
{{ invoice.Id }}{{ invoice.CustomerId }}{{ invoice.InvoiceDate }}
+ + To PDF or not to PDF