import gradio as gr import pandas as pd import os from functions import process_survey # Adjust the function name as needed # Paths to the permanent files CHOICES_PATH = "/mnt/data/Indicators_choices_Default View 18.xlsx" QUESTIONS_PATH = "/mnt/data/Indicators_questions_Default View 20.xlsx" INDICATORS_PATH = "/mnt/data/Indicators_indicators_Default view 23.xlsx" def run_validation(survey_file, uuid): # Read user survey if survey_file.name.endswith('.csv'): survey_df = pd.read_csv(survey_file.name) else: survey_df = pd.read_excel(survey_file.name) # Read permanent datasets choices_df = pd.read_excel(CHOICES_PATH) questions_df = pd.read_excel(QUESTIONS_PATH) indicators_df = pd.read_excel(INDICATORS_PATH) # Pass all inputs to your function (update name/args as needed) # For example, if your function is: process_survey(survey_df, choices_df, questions_df, indicators_df, uuid) result = process_survey( survey_df, choices_df, questions_df, indicators_df, uuid ) # Assume result is a DataFrame, can adjust to return Excel, text, etc. return result with gr.Blocks() as app: gr.Markdown("## Survey Validation App") survey_file = gr.File(label="Upload your survey (Excel or CSV)") uuid_box = gr.Textbox(label="UUID", value="AGT.MHVL.0A.202505.0001") run_btn = gr.Button("Run Validation") output = gr.Dataframe(label="Validation Output") run_btn.click( run_validation, inputs=[survey_file, uuid_box], outputs=output ) if __name__ == "__main__": app.launch()