Update app.py
Browse files
app.py
CHANGED
|
@@ -8,49 +8,47 @@ from functions import (
|
|
| 8 |
actualizar_modalidades_tareas_desde_huggingface
|
| 9 |
)
|
| 10 |
|
| 11 |
-
#
|
| 12 |
-
tareas_disponibles_state = gr.State([])
|
| 13 |
-
|
| 14 |
-
# Cargar inicialmente las tareas
|
| 15 |
MODALIDAD_TAREAS = cargar_modalidades_tareas()
|
| 16 |
tareas_iniciales = [t for datos in MODALIDAD_TAREAS.values() for t in datos["tareas"].keys()]
|
| 17 |
|
| 18 |
-
def actualizar_tareas_handler():
|
| 19 |
-
try:
|
| 20 |
-
nuevas_tareas = actualizar_modalidades_tareas_desde_huggingface()
|
| 21 |
-
return gr.CheckboxGroup.update(choices=obtener_tareas_espanol()), "✅ Actualizado: Se añadieron datasets y columnas."
|
| 22 |
-
except Exception as e:
|
| 23 |
-
return gr.CheckboxGroup.update(), f"❌ Error: {str(e)}"
|
| 24 |
-
|
| 25 |
|
| 26 |
with gr.Blocks() as demo:
|
| 27 |
gr.Markdown("# Diseñador de Modelos de Redes Neuronales y Generador de Datasets Multimodales")
|
| 28 |
|
| 29 |
-
|
| 30 |
-
with gr.Row():
|
| 31 |
-
tareas_disponibles = gr.CheckboxGroup(
|
| 32 |
-
choices=tareas_iniciales,
|
| 33 |
-
label="Tareas Disponibles",
|
| 34 |
-
interactive=True
|
| 35 |
-
)
|
| 36 |
-
|
| 37 |
-
# Panel 2: Botón de Actualización
|
| 38 |
with gr.Row():
|
| 39 |
btn_actualizar_json = gr.Button("Actualizar Modalidades desde HuggingFace")
|
| 40 |
mensaje_actualizacion = gr.Textbox(label="Estado", interactive=False)
|
| 41 |
|
| 42 |
-
# Función para
|
| 43 |
def actualizar_tareas_handler():
|
| 44 |
-
|
| 45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 46 |
|
| 47 |
-
# Vincular salida directamente al CheckboxGroup
|
| 48 |
btn_actualizar_json.click(
|
| 49 |
fn=actualizar_tareas_handler,
|
| 50 |
inputs=[],
|
| 51 |
-
outputs=[tareas_disponibles, mensaje_actualizacion] #
|
| 52 |
)
|
| 53 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
# Panel 2: Gráfica de Barras
|
| 55 |
with gr.Row():
|
| 56 |
grafica_barras = gr.Plot()
|
|
|
|
| 8 |
actualizar_modalidades_tareas_desde_huggingface
|
| 9 |
)
|
| 10 |
|
| 11 |
+
# Cargar modalidades
|
|
|
|
|
|
|
|
|
|
| 12 |
MODALIDAD_TAREAS = cargar_modalidades_tareas()
|
| 13 |
tareas_iniciales = [t for datos in MODALIDAD_TAREAS.values() for t in datos["tareas"].keys()]
|
| 14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
|
| 16 |
with gr.Blocks() as demo:
|
| 17 |
gr.Markdown("# Diseñador de Modelos de Redes Neuronales y Generador de Datasets Multimodales")
|
| 18 |
|
| 19 |
+
# Panel de Actualización
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 20 |
with gr.Row():
|
| 21 |
btn_actualizar_json = gr.Button("Actualizar Modalidades desde HuggingFace")
|
| 22 |
mensaje_actualizacion = gr.Textbox(label="Estado", interactive=False)
|
| 23 |
|
| 24 |
+
# Función corregida para devolver lista de tareas y mensaje
|
| 25 |
def actualizar_tareas_handler():
|
| 26 |
+
try:
|
| 27 |
+
# Actualizar el JSON
|
| 28 |
+
actualizar_modalidades_tareas_desde_huggingface()
|
| 29 |
+
|
| 30 |
+
# Recargar tareas desde el JSON actualizado
|
| 31 |
+
MODALIDAD_TAREAS_ACTUALIZADAS = cargar_modalidades_tareas()
|
| 32 |
+
nuevas_tareas = [t for datos in MODALIDAD_TAREAS_ACTUALIZADAS.values() for t in datos["tareas"].keys()]
|
| 33 |
+
|
| 34 |
+
return nuevas_tareas, "✅ Metadatos actualizados correctamente."
|
| 35 |
+
except Exception as e:
|
| 36 |
+
return tareas_iniciales, f"❌ Error: {str(e)}" # Mantener tareas anteriores en caso de fallo
|
| 37 |
|
|
|
|
| 38 |
btn_actualizar_json.click(
|
| 39 |
fn=actualizar_tareas_handler,
|
| 40 |
inputs=[],
|
| 41 |
+
outputs=[tareas_disponibles, mensaje_actualizacion] # Actualizar CheckboxGroup y mensaje
|
| 42 |
)
|
| 43 |
|
| 44 |
+
# Panel 1: Tareas Disponibles
|
| 45 |
+
with gr.Row():
|
| 46 |
+
tareas_disponibles = gr.CheckboxGroup(
|
| 47 |
+
choices=tareas_iniciales,
|
| 48 |
+
label="Tareas Disponibles",
|
| 49 |
+
interactive=True
|
| 50 |
+
)
|
| 51 |
+
|
| 52 |
# Panel 2: Gráfica de Barras
|
| 53 |
with gr.Row():
|
| 54 |
grafica_barras = gr.Plot()
|