SergioSCA commited on
Commit
9375a9e
verified
1 Parent(s): 86b4f27

Update functions.py

Browse files
Files changed (1) hide show
  1. functions.py +38 -13
functions.py CHANGED
@@ -1,21 +1,13 @@
1
  # functions.py
2
  import json
3
- import requests
4
  from datasets import load_dataset
5
- import matplotlib.pyplot as plt
6
- import time
7
 
8
- # Funci贸n para cargar modalidades y tareas
9
  def cargar_modalidades_tareas():
10
- try:
11
- with open("modalidades_tareas.json", "r") as file:
12
- MODALIDAD_TAREAS = json.load(file)
13
- return MODALIDAD_TAREAS
14
- except FileNotFoundError:
15
- raise ValueError("El archivo 'modalidades_tareas.json' no se encontr贸.")
16
- except json.JSONDecodeError:
17
- raise ValueError("El archivo 'modalidades_tareas.json' tiene un formato incorrecto.")
18
-
19
  # Validar modalidades y tareas
20
  def validar_modalidades_tareas(modalidades_tareas):
21
  try:
@@ -92,6 +84,39 @@ def generar_dataset(encabezado, datasets_seleccionados, pagina_actual=1, filas_p
92
  except Exception as e:
93
  raise ValueError(f"Error al generar el dataset: {str(e)}")
94
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
95
  def generar_encabezado_inteligente(tareas_seleccionadas, api_key):
96
  max_reintentos = 3
97
  espera_entre_reintentos = 2
 
1
  # functions.py
2
  import json
 
3
  from datasets import load_dataset
 
 
4
 
5
+ # Cargar modalidades y tareas
6
  def cargar_modalidades_tareas():
7
+ with open("modalidades_tareas.json", "r") as file:
8
+ MODALIDAD_TAREAS = json.load(file)
9
+ return MODALIDAD_TAREAS
10
+
 
 
 
 
 
11
  # Validar modalidades y tareas
12
  def validar_modalidades_tareas(modalidades_tareas):
13
  try:
 
84
  except Exception as e:
85
  raise ValueError(f"Error al generar el dataset: {str(e)}")
86
 
87
+ # Generar encabezado localmente
88
+ def generar_encabezado(tareas_seleccionadas):
89
+ MODALIDAD_TAREAS = cargar_modalidades_tareas()
90
+
91
+ if not tareas_seleccionadas:
92
+ raise ValueError("Selecciona al menos una tarea.")
93
+
94
+ columnas = ["id"]
95
+ modalidades_usadas = set()
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 una vez
103
+ if modalidad not in modalidades_usadas:
104
+ columnas.extend(datos["columnas"])
105
+ modalidades_usadas.add(modalidad)
106
+ # A帽adir columna de la tarea
107
+ columna_tarea = f"{tarea.lower().replace(' ', '_')}_label"
108
+ if columna_tarea not in tareas_procesadas:
109
+ columnas.append(columna_tarea)
110
+ tareas_procesadas.add(columna_tarea)
111
+
112
+ # Optimizar columnas (ej. ordenar y eliminar redundancias)
113
+ columnas_optimizadas = ["id"] + sorted(
114
+ columnas[1:],
115
+ key=lambda x: (x.endswith("_input"), x) # Priorizar columnas de entrada <button class="citation-flag" data-index="4">
116
+ )
117
+
118
+ return ",".join(columnas_optimizadas)
119
+
120
  def generar_encabezado_inteligente(tareas_seleccionadas, api_key):
121
  max_reintentos = 3
122
  espera_entre_reintentos = 2