From 5000e4bfc6c0b61caa89d2e1d233370d5ffc2286 Mon Sep 17 00:00:00 2001 From: Devguru Date: Mon, 2 Mar 2026 23:42:41 +0530 Subject: [PATCH] fix: Use .get() with defaults in report_template.py to prevent KeyError crashes --- apps/backend/app/utils/report_template.py | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/apps/backend/app/utils/report_template.py b/apps/backend/app/utils/report_template.py index f3d06e2c..bbb955fa 100644 --- a/apps/backend/app/utils/report_template.py +++ b/apps/backend/app/utils/report_template.py @@ -1,6 +1,19 @@ def render_report_html(data): - params_html = "".join(f"{k}{v}" for k, v in data["asl_parameters"]) - missing_html = "".join(f"
  • {param}
  • " for param in data["missing_parameters"]) + # Support asl_parameters as either list of tuples or dict + asl_params = data.get("asl_parameters", []) + if isinstance(asl_params, dict): + asl_params = list(asl_params.items()) + params_html = "".join(f"{k}{v}" for k, v in asl_params) + + # Support both 'missing_parameters' (template key) and 'missing_required_parameters' (processor key) + missing = data.get("missing_parameters", data.get("missing_required_parameters", [])) + if isinstance(missing, dict): + missing = list(missing.keys()) + missing_html = "".join(f"
  • {param}
  • " for param in missing) + + basic_report = data.get("basic_report", "") + extended_report = data.get("extended_report", "") + return f""" @@ -18,9 +31,9 @@ def render_report_html(data): {params_html}

    Basic Report

    -

    {data["basic_report"]}

    +

    {basic_report}

    Extended Report

    -

    {data["extended_report"]}

    +

    {extended_report}

    Missing Parameters