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