Update functions.py
Browse files- functions.py +25 -18
functions.py
CHANGED
|
@@ -84,7 +84,7 @@ def generar_dataset(encabezado, datasets_seleccionados, pagina_actual=1, filas_p
|
|
| 84 |
except Exception as e:
|
| 85 |
raise ValueError(f"Error al generar el dataset: {str(e)}")
|
| 86 |
|
| 87 |
-
#
|
| 88 |
def generar_encabezado(tareas_seleccionadas):
|
| 89 |
MODALIDAD_TAREAS = cargar_modalidades_tareas()
|
| 90 |
|
|
@@ -92,30 +92,37 @@ def generar_encabezado(tareas_seleccionadas):
|
|
| 92 |
raise ValueError("Selecciona al menos una tarea.")
|
| 93 |
|
| 94 |
columnas = ["id"]
|
| 95 |
-
|
| 96 |
-
tareas_procesadas = set()
|
| 97 |
|
| 98 |
-
# Mapear tareas a sus modalidades y columnas
|
| 99 |
for tarea in tareas_seleccionadas:
|
| 100 |
for modalidad, datos in MODALIDAD_TAREAS.items():
|
| 101 |
if tarea in datos["tareas"]:
|
| 102 |
-
# Añadir columnas de la modalidad
|
| 103 |
-
|
| 104 |
-
|
| 105 |
-
|
| 106 |
-
|
| 107 |
-
|
| 108 |
-
|
| 109 |
-
|
| 110 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 111 |
|
| 112 |
-
# Optimizar
|
| 113 |
-
|
| 114 |
-
columnas
|
| 115 |
-
key=lambda x: (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 116 |
)
|
| 117 |
|
| 118 |
-
return ",".join(
|
| 119 |
|
| 120 |
def generar_encabezado_inteligente(tareas_seleccionadas, api_key):
|
| 121 |
max_reintentos = 3
|
|
|
|
| 84 |
except Exception as e:
|
| 85 |
raise ValueError(f"Error al generar el dataset: {str(e)}")
|
| 86 |
|
| 87 |
+
# Función para generar el encabezado
|
| 88 |
def generar_encabezado(tareas_seleccionadas):
|
| 89 |
MODALIDAD_TAREAS = cargar_modalidades_tareas()
|
| 90 |
|
|
|
|
| 92 |
raise ValueError("Selecciona al menos una tarea.")
|
| 93 |
|
| 94 |
columnas = ["id"]
|
| 95 |
+
columnas_modulos = set()
|
|
|
|
| 96 |
|
|
|
|
| 97 |
for tarea in tareas_seleccionadas:
|
| 98 |
for modalidad, datos in MODALIDAD_TAREAS.items():
|
| 99 |
if tarea in datos["tareas"]:
|
| 100 |
+
# Añadir columnas generales de la modalidad
|
| 101 |
+
columnas_generales = datos.get("columnas_generales", [])
|
| 102 |
+
for col in columnas_generales:
|
| 103 |
+
if col not in columnas_modulos:
|
| 104 |
+
columnas.append(col)
|
| 105 |
+
columnas_modulos.add(col)
|
| 106 |
+
|
| 107 |
+
# Añadir columnas específicas de la tarea
|
| 108 |
+
columnas_tarea = datos["tareas"][tarea]
|
| 109 |
+
for col in columnas_tarea:
|
| 110 |
+
if col not in columnas_modulos:
|
| 111 |
+
columnas.append(col)
|
| 112 |
+
columnas_modulos.add(col)
|
| 113 |
|
| 114 |
+
# Optimizar orden (inputs primero, outputs después, labels al final)
|
| 115 |
+
columnas_ordenadas = sorted(
|
| 116 |
+
columnas,
|
| 117 |
+
key=lambda x: (
|
| 118 |
+
"input" in x, # Priorizar columnas de entrada
|
| 119 |
+
"output" in x, # Luego columnas de salida
|
| 120 |
+
"label" in x # Finalizar con labels
|
| 121 |
+
),
|
| 122 |
+
reverse=True
|
| 123 |
)
|
| 124 |
|
| 125 |
+
return ",".join(columnas_ordenadas)
|
| 126 |
|
| 127 |
def generar_encabezado_inteligente(tareas_seleccionadas, api_key):
|
| 128 |
max_reintentos = 3
|