data-analysis-ai / flows /survey_interface.py
qsocialnow's picture
-
b3bcc0d verified
Raw
History Blame Contribute Delete
1.55 kB
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)