From 604ef375aa97c3821a902cb3e7785d853610cf5f Mon Sep 17 00:00:00 2001 From: bolade Date: Fri, 26 Sep 2025 22:32:39 +0100 Subject: [PATCH] Refactor footer context generation and enhance chart image styling for improved layout --- main.py | 23 ++++++++++++++++------- multi_page_report.pdf | Bin 798845 -> 798853 bytes report_gen/page_18.html | 6 ++++-- report_gen/page_9.html | 34 +++++++++++++++++----------------- 4 files changed, 37 insertions(+), 26 deletions(-) diff --git a/main.py b/main.py index 06c36be..8b1e58e 100644 --- a/main.py +++ b/main.py @@ -15,16 +15,21 @@ header_context = { "focus": "Endurance", } -footer_context = [{ - "contact_email": "info@ishplabs.com ", - "website": "www.ishplabs.com", - "social": "@ishplabs", - "page_number": i + 1, -} for i in range(len(context_list))] +footer_context = [ + { + "contact_email": "info@ishplabs.com ", + "website": "www.ishplabs.com", + "social": "@ishplabs", + "page_number": i + 1, + } + for i in range(len(context_list)) +] header_html = env.get_template("header.html").render(header_context) -footer_html_list = [env.get_template("footer.html").render(context) for context in footer_context] +footer_html_list = [ + env.get_template("footer.html").render(context) for context in footer_context +] for i, context in enumerate(context_list): template = env.get_template(f"page_{i + 1}.html").render(context) @@ -84,6 +89,10 @@ html_doc = f""" max-height: 200px; object-fit: contain; }} + /* Larger images for specific charts */ + .chart-large {{ + max-height: 500px !important; + }} diff --git a/multi_page_report.pdf b/multi_page_report.pdf index fa73b85cf1370544f2ac5b5e88dcc813800bd739..f0e99dc3acb8762a76309690391d7490a472d3f0 100644 GIT binary patch delta 5678 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 bbvOq8F&TjRg$kfKbP)tR8w#aus>Aj_Z^*Em diff --git a/report_gen/page_18.html b/report_gen/page_18.html index 410985d..1001d1e 100644 --- a/report_gen/page_18.html +++ b/report_gen/page_18.html @@ -25,11 +25,13 @@
-

Body Fat Percent Master Chart

+

+ Body Fat Percent Master Chart +

Body Fat Percentage
diff --git a/report_gen/page_9.html b/report_gen/page_9.html index 12850de..01ba125 100644 --- a/report_gen/page_9.html +++ b/report_gen/page_9.html @@ -1,21 +1,21 @@
+ +
+ +
+ Fuel Utilization Report - Institute of Science, Health and Performance +
- -
- -
- Fuel Utilization Report - Institute of Science, Health and Performance + +
+

+ Client: {{ client_name | default('Keirstyn Moran') }} | + Assessment Date: {{ assessment_date | default('July 29 2025') }} +

+
- - -
-

- Client: {{ client_name | default('Keirstyn Moran') }} | - Assessment Date: {{ assessment_date | default('July 29 2025') }} -

-
-
-