import gradio as gr from analysis.article_analysis import analizar_archivo_y_generar_articulo def interfaz_articulos(): """ """ gr.Markdown("## 📰 Generación de Artículos Periodísticos") archivo_input = gr.File(label="Sube un archivo Word (.docx)") boton = gr.Button("Generar Artículo", interactive=True) salida_pdf = gr.File(label="📄 Artículo Generado (.docx)") mensaje_error = gr.Textbox(label="📢 Estado del Proceso", interactive=False, visible=True) progreso_texto = gr.Textbox(label="📊 Detalle del Proceso", lines=15, interactive=False) def wrapper_func(archivo): salida, mensaje, progreso = None, "", "" if not archivo: yield gr.update(interactive=True), None, "❌ Por favor, sube un archivo.", "" return yield gr.update(interactive=False), None, "⏳ Procesando archivo... por favor espera.", "" for salida_, mensaje_, progreso_ in analizar_archivo_y_generar_articulo(archivo): 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], outputs=[boton, salida_pdf, mensaje_error, progreso_texto] )