From 278ec8bde625bd61cd7f21fc56933d74ffceac5e Mon Sep 17 00:00:00 2001 From: Utshant Gurung Date: Fri, 14 Aug 2026 13:09:38 -0400 Subject: [PATCH] fix: validate required Excel sheets --- API/Classes/Case/ImportTemplate.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/API/Classes/Case/ImportTemplate.py b/API/Classes/Case/ImportTemplate.py index 85a5c435..bd25e3ba 100644 --- a/API/Classes/Case/ImportTemplate.py +++ b/API/Classes/Case/ImportTemplate.py @@ -489,6 +489,16 @@ def importProcess(self, data): df_sheet_all = pd.read_excel(self.TEMPLATE_PATH, sheet_name=None, engine='openpyxl') + required_sheets = [ + 'TECHNOLOGY', 'TECHGROUP', 'FUEL', 'EMISSION', 'STORAGE', 'YEAR', + 'MODE_OF_OPERATION', 'TIMESLICE', 'SEASON', 'DAYTYPE', + 'DAILYTIMEBRACKET', 'InputActivityRatio', 'OutputActivityRatio', + 'EmissionActivityRatio', 'TechnologyFromStorage', 'TechnologyToStorage' + ] + missing_sheets = [s for s in required_sheets if s not in df_sheet_all] + if missing_sheets: + return {"message": f"Template is missing required sheet(s): {', '.join(missing_sheets)}", "status_code": "error"} + techs_xls = df_sheet_all['TECHNOLOGY'] comms_xls = df_sheet_all['FUEL'] emis_xls = df_sheet_all['EMISSION']