import gradio as gr from analysis.analysis import analizar_excel_encuesta_y_generar_pdf def interfaz_encuestas(): # with gr.Blocks() as interfaz: gr.Markdown("## 📝 Análisis de Encuesta Abierta con Inteligencia Artificial") archivo_input = gr.File(label="Sube el archivo Excel (.xlsx)") informe = gr.Dropdown( ["Análisis Focalizado por Pregunta" ], label="Selecciona el informe", value="Análisis Focalizado por Pregunta" ) boton = gr.Button("Generar Análisis", interactive=True) salida_pdf = gr.File(label="Resumen Global en WORD") mensaje_error = gr.Textbox(label="Mensajes", interactive=False, visible=True) progreso_texto = gr.Textbox(label="Progreso de los resúmenes", lines=25, interactive=False) def wrapper_func(archivo_excel, informe): salida = None mensaje = "" progreso = "" yield gr.update(interactive=False), None, "⏳ Procesando archivo... por favor espera.", "" for salida_, mensaje_, progreso_ in analizar_excel_encuesta_y_generar_pdf(archivo_excel, informe): salida, mensaje, progreso = salida_, mensaje_, progreso_ yield gr.update(interactive=False), salida, mensaje, progreso yield gr.update(interactive=True), salida, mensaje, progreso boton.click( fn=wrapper_func, inputs=[archivo_input, informe], outputs=[boton, salida_pdf, mensaje_error, progreso_texto] ) # interfaz.queue().launch(share=True)