Update app.py
Browse files
app.py
CHANGED
|
@@ -51,7 +51,7 @@ def buscar_datasets(modalidades_seleccionadas, tareas_seleccionadas, filtro_tama
|
|
| 51 |
return "\n".join(resultados)
|
| 52 |
|
| 53 |
# Funci贸n para generar el dataset
|
| 54 |
-
def generar_dataset(encabezado, datasets_seleccionados):
|
| 55 |
if not datasets_seleccionados:
|
| 56 |
raise ValueError("Debes seleccionar al menos un dataset.")
|
| 57 |
|
|
@@ -63,11 +63,11 @@ def generar_dataset(encabezado, datasets_seleccionados):
|
|
| 63 |
dataset_id = dataset_id.strip("- ").split(":")[0] # Extraer ID del dataset
|
| 64 |
try:
|
| 65 |
dataset = load_dataset(dataset_id, split="train")
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
valores = [str(fila.get(col, "valor_default")) for col in columnas[1:]] # Ignorar 'id'
|
| 70 |
-
filas.append(f"id_{i}," + ",".join(valores))
|
| 71 |
except Exception as e:
|
| 72 |
filas.append(f"Error cargando dataset {dataset_id}: {str(e)}")
|
| 73 |
|
|
@@ -84,8 +84,9 @@ with gr.Blocks() as demo:
|
|
| 84 |
modalidades_seleccionadas = gr.CheckboxGroup(choices=modalidades, label="Selecciona Modalidades")
|
| 85 |
|
| 86 |
# Panel 2: Configuraci贸n de Tareas (CheckboxGroup expandido)
|
| 87 |
-
with gr.
|
| 88 |
-
|
|
|
|
| 89 |
modalidades_seleccionadas.change(actualizar_tareas, inputs=modalidades_seleccionadas, outputs=tareas_disponibles)
|
| 90 |
|
| 91 |
# Panel 3: Generar Encabezado del CSV
|
|
@@ -107,18 +108,26 @@ with gr.Blocks() as demo:
|
|
| 107 |
outputs=datasets_encontrados
|
| 108 |
)
|
| 109 |
|
| 110 |
-
# Panel 5: Generar Dataset
|
| 111 |
with gr.Row():
|
|
|
|
|
|
|
| 112 |
btn_generar_dataset = gr.Button("Generar Dataset")
|
| 113 |
vista_previa_csv = gr.Textbox(label="Vista Previa del CSV", interactive=False)
|
| 114 |
btn_descargar_csv = gr.File(label="Descargar CSV")
|
| 115 |
-
btn_generar_dataset.click(
|
|
|
|
|
|
|
|
|
|
|
|
|
| 116 |
|
| 117 |
# Estilo CSS para expandir el 谩rea de selecci贸n de tareas
|
| 118 |
demo.css = """
|
| 119 |
.expanded-checkbox {
|
| 120 |
max-height: 200px; /* Altura m谩xima */
|
| 121 |
overflow-y: auto; /* Scroll vertical si es necesario */
|
|
|
|
|
|
|
| 122 |
}
|
| 123 |
"""
|
| 124 |
|
|
|
|
| 51 |
return "\n".join(resultados)
|
| 52 |
|
| 53 |
# Funci贸n para generar el dataset
|
| 54 |
+
def generar_dataset(encabezado, datasets_seleccionados, pagina_actual=1, filas_por_pagina=5):
|
| 55 |
if not datasets_seleccionados:
|
| 56 |
raise ValueError("Debes seleccionar al menos un dataset.")
|
| 57 |
|
|
|
|
| 63 |
dataset_id = dataset_id.strip("- ").split(":")[0] # Extraer ID del dataset
|
| 64 |
try:
|
| 65 |
dataset = load_dataset(dataset_id, split="train")
|
| 66 |
+
inicio = (pagina_actual - 1) * filas_por_pagina
|
| 67 |
+
fin = pagina_actual * filas_por_pagina
|
| 68 |
+
for i, fila in enumerate(dataset[inicio:fin]):
|
| 69 |
valores = [str(fila.get(col, "valor_default")) for col in columnas[1:]] # Ignorar 'id'
|
| 70 |
+
filas.append(f"id_{inicio + i}," + ",".join(valores))
|
| 71 |
except Exception as e:
|
| 72 |
filas.append(f"Error cargando dataset {dataset_id}: {str(e)}")
|
| 73 |
|
|
|
|
| 84 |
modalidades_seleccionadas = gr.CheckboxGroup(choices=modalidades, label="Selecciona Modalidades")
|
| 85 |
|
| 86 |
# Panel 2: Configuraci贸n de Tareas (CheckboxGroup expandido)
|
| 87 |
+
with gr.Column():
|
| 88 |
+
gr.Markdown("### Selecciona Tareas")
|
| 89 |
+
tareas_disponibles = gr.CheckboxGroup(choices=[], label="Tareas Disponibles", interactive=True, elem_classes=["expanded-checkbox"])
|
| 90 |
modalidades_seleccionadas.change(actualizar_tareas, inputs=modalidades_seleccionadas, outputs=tareas_disponibles)
|
| 91 |
|
| 92 |
# Panel 3: Generar Encabezado del CSV
|
|
|
|
| 108 |
outputs=datasets_encontrados
|
| 109 |
)
|
| 110 |
|
| 111 |
+
# Panel 5: Generar Dataset con Paginaci贸n
|
| 112 |
with gr.Row():
|
| 113 |
+
pagina_actual = gr.Number(value=1, label="P谩gina Actual")
|
| 114 |
+
filas_por_pagina = gr.Number(value=5, label="Filas por P谩gina")
|
| 115 |
btn_generar_dataset = gr.Button("Generar Dataset")
|
| 116 |
vista_previa_csv = gr.Textbox(label="Vista Previa del CSV", interactive=False)
|
| 117 |
btn_descargar_csv = gr.File(label="Descargar CSV")
|
| 118 |
+
btn_generar_dataset.click(
|
| 119 |
+
generar_dataset,
|
| 120 |
+
inputs=[encabezado_generado, datasets_encontrados, pagina_actual, filas_por_pagina],
|
| 121 |
+
outputs=vista_previa_csv
|
| 122 |
+
)
|
| 123 |
|
| 124 |
# Estilo CSS para expandir el 谩rea de selecci贸n de tareas
|
| 125 |
demo.css = """
|
| 126 |
.expanded-checkbox {
|
| 127 |
max-height: 200px; /* Altura m谩xima */
|
| 128 |
overflow-y: auto; /* Scroll vertical si es necesario */
|
| 129 |
+
border: 1px solid #ccc; /* Borde para mejorar la visibilidad */
|
| 130 |
+
padding: 10px; /* Espaciado interno */
|
| 131 |
}
|
| 132 |
"""
|
| 133 |
|