AIdeaText commited on
Commit
be6f74d
·
verified ·
1 Parent(s): d8f4d88

Update modules/studentact/current_situation_interface.py

Browse files
modules/studentact/current_situation_interface.py CHANGED
@@ -96,25 +96,18 @@ def display_current_situation_interface(lang_code, nlp_models, t):
96
  """
97
  Interfaz con línea base y progreso lado a lado.
98
  """
99
- # Inicializar estados
100
- if 'baseline_text' not in st.session_state:
101
- # Intentar recuperar línea base guardada
102
- baseline = get_writing_baseline(st.session_state.username)
103
- st.session_state.baseline_text = baseline['text'] if baseline else ""
104
- st.session_state.baseline_metrics = baseline['metrics'] if baseline else None
105
 
106
- if 'iteration_count' not in st.session_state:
107
- st.session_state.iteration_count = 0
108
-
109
  try:
110
  st.title("Análisis de Escritura")
111
 
112
  # Crear dos columnas principales
113
  col1, col2 = st.columns(2)
114
 
115
- # Columna izquierda: Línea Base
116
  with col1:
117
  st.markdown("### Línea Base")
 
118
  baseline_text = st.text_area(
119
  "Texto base",
120
  value=st.session_state.baseline_text,
@@ -123,11 +116,17 @@ def display_current_situation_interface(lang_code, nlp_models, t):
123
  help="Este texto servirá como punto de referencia"
124
  )
125
 
126
- if st.button("Establecer Línea Base", type="primary"):
 
 
 
 
 
 
 
127
  with st.spinner("Analizando línea base..."):
128
  doc = nlp_models[lang_code](baseline_text)
129
  metrics = analyze_text_dimensions(doc)
130
-
131
  success = store_writing_baseline(
132
  username=st.session_state.username,
133
  metrics=metrics,
@@ -138,13 +137,13 @@ def display_current_situation_interface(lang_code, nlp_models, t):
138
  st.session_state.baseline_text = baseline_text
139
  st.session_state.baseline_metrics = metrics
140
  st.success("Línea base establecida")
141
-
142
- # Mostrar métricas de línea base
143
  display_metrics_column(metrics, "Línea Base")
144
-
145
  # Columna derecha: Progreso
146
  with col2:
147
  st.markdown(f"### Iteración #{st.session_state.iteration_count + 1}")
 
148
  current_text = st.text_area(
149
  "Texto actual",
150
  height=200,
@@ -152,7 +151,14 @@ def display_current_situation_interface(lang_code, nlp_models, t):
152
  help="Escribe la nueva versión de tu texto"
153
  )
154
 
155
- if st.button("Analizar Progreso", type="primary"):
 
 
 
 
 
 
 
156
  if not st.session_state.baseline_metrics:
157
  st.error("Primero debes establecer una línea base")
158
  return
@@ -160,21 +166,17 @@ def display_current_situation_interface(lang_code, nlp_models, t):
160
  with st.spinner("Analizando progreso..."):
161
  doc = nlp_models[lang_code](current_text)
162
  current_metrics = analyze_text_dimensions(doc)
163
-
164
- # Incrementar contador de iteraciones
165
  st.session_state.iteration_count += 1
166
 
167
- # Guardar progreso
168
  store_writing_progress(
169
  username=st.session_state.username,
170
  metrics=current_metrics,
171
  text=current_text
172
  )
173
-
174
- # Mostrar métricas actuales
175
  display_metrics_column(current_metrics, f"Iteración #{st.session_state.iteration_count}")
176
-
177
- # Expander con gráfico radar
178
  with st.expander("Ver Comparación Visual", expanded=False):
179
  if st.session_state.baseline_metrics and 'current_metrics' in locals():
180
  baseline_config = prepare_metrics_config(st.session_state.baseline_metrics)
@@ -184,11 +186,6 @@ def display_current_situation_interface(lang_code, nlp_models, t):
184
  thresholds=TEXT_TYPES['student_essay']['thresholds'],
185
  baseline_metrics=st.session_state.baseline_metrics
186
  )
187
-
188
- except Exception as e:
189
- logger.error(f"Error en interfaz: {str(e)}")
190
- st.error("Error al cargar la interfaz")
191
-
192
 
193
  ###################################
194
 
 
96
  """
97
  Interfaz con línea base y progreso lado a lado.
98
  """
99
+ # [Inicialización de estados igual]
 
 
 
 
 
100
 
 
 
 
101
  try:
102
  st.title("Análisis de Escritura")
103
 
104
  # Crear dos columnas principales
105
  col1, col2 = st.columns(2)
106
 
107
+ # Columna izquierda: Línea Base
108
  with col1:
109
  st.markdown("### Línea Base")
110
+ # Text area para línea base
111
  baseline_text = st.text_area(
112
  "Texto base",
113
  value=st.session_state.baseline_text,
 
116
  help="Este texto servirá como punto de referencia"
117
  )
118
 
119
+ baseline_button = st.button(
120
+ "Establecer Línea Base",
121
+ type="primary",
122
+ use_container_width=True
123
+ )
124
+
125
+ # Análisis y métricas de línea base
126
+ if baseline_button:
127
  with st.spinner("Analizando línea base..."):
128
  doc = nlp_models[lang_code](baseline_text)
129
  metrics = analyze_text_dimensions(doc)
 
130
  success = store_writing_baseline(
131
  username=st.session_state.username,
132
  metrics=metrics,
 
137
  st.session_state.baseline_text = baseline_text
138
  st.session_state.baseline_metrics = metrics
139
  st.success("Línea base establecida")
140
+ # Métricas justo debajo del text area
 
141
  display_metrics_column(metrics, "Línea Base")
142
+
143
  # Columna derecha: Progreso
144
  with col2:
145
  st.markdown(f"### Iteración #{st.session_state.iteration_count + 1}")
146
+ # Text area para iteración
147
  current_text = st.text_area(
148
  "Texto actual",
149
  height=200,
 
151
  help="Escribe la nueva versión de tu texto"
152
  )
153
 
154
+ progress_button = st.button(
155
+ "Analizar Progreso",
156
+ type="primary",
157
+ use_container_width=True
158
+ )
159
+
160
+ # Análisis y métricas de progreso
161
+ if progress_button:
162
  if not st.session_state.baseline_metrics:
163
  st.error("Primero debes establecer una línea base")
164
  return
 
166
  with st.spinner("Analizando progreso..."):
167
  doc = nlp_models[lang_code](current_text)
168
  current_metrics = analyze_text_dimensions(doc)
 
 
169
  st.session_state.iteration_count += 1
170
 
 
171
  store_writing_progress(
172
  username=st.session_state.username,
173
  metrics=current_metrics,
174
  text=current_text
175
  )
176
+ # Métricas justo debajo del text area
 
177
  display_metrics_column(current_metrics, f"Iteración #{st.session_state.iteration_count}")
178
+
179
+ # Expander con gráfico radar al final
180
  with st.expander("Ver Comparación Visual", expanded=False):
181
  if st.session_state.baseline_metrics and 'current_metrics' in locals():
182
  baseline_config = prepare_metrics_config(st.session_state.baseline_metrics)
 
186
  thresholds=TEXT_TYPES['student_essay']['thresholds'],
187
  baseline_metrics=st.session_state.baseline_metrics
188
  )
 
 
 
 
 
189
 
190
  ###################################
191