Update modules/studentact/current_situation_interface.py
Browse files
modules/studentact/current_situation_interface.py
CHANGED
@@ -3,6 +3,9 @@
|
|
3 |
import streamlit as st
|
4 |
import logging
|
5 |
from ..utils.widget_utils import generate_unique_key
|
|
|
|
|
|
|
6 |
from .current_situation_analysis import (
|
7 |
analyze_text_dimensions,
|
8 |
analyze_clarity,
|
@@ -60,7 +63,6 @@ def display_current_situation_interface(lang_code, nlp_models, t):
|
|
60 |
help="Este texto ser谩 analizado para darte recomendaciones personalizadas"
|
61 |
)
|
62 |
|
63 |
-
# Bot贸n de an谩lisis
|
64 |
if st.button(
|
65 |
t.get('analyze_button', "Analizar mi escritura"),
|
66 |
type="primary",
|
@@ -73,18 +75,27 @@ def display_current_situation_interface(lang_code, nlp_models, t):
|
|
73 |
doc = nlp_models[lang_code](text_input)
|
74 |
metrics = analyze_text_dimensions(doc)
|
75 |
|
76 |
-
#
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
77 |
st.session_state.current_doc = doc
|
78 |
st.session_state.current_metrics = metrics
|
79 |
st.session_state.show_results = True
|
80 |
-
|
81 |
-
# Mantener el texto en el estado
|
82 |
st.session_state.text_input = text_input
|
83 |
|
84 |
except Exception as e:
|
85 |
logger.error(f"Error en an谩lisis: {str(e)}")
|
86 |
st.error(t.get('analysis_error', "Error al analizar el texto"))
|
87 |
-
|
88 |
# Mostrar resultados en la columna derecha
|
89 |
with results_col:
|
90 |
if st.session_state.show_results and st.session_state.current_metrics is not None:
|
@@ -96,6 +107,10 @@ def display_current_situation_interface(lang_code, nlp_models, t):
|
|
96 |
st.session_state.current_doc,
|
97 |
st.session_state.current_metrics
|
98 |
)
|
|
|
|
|
|
|
|
|
99 |
|
100 |
def display_current_situation_visual(doc, metrics):
|
101 |
"""
|
|
|
3 |
import streamlit as st
|
4 |
import logging
|
5 |
from ..utils.widget_utils import generate_unique_key
|
6 |
+
|
7 |
+
from ..database.current_situation_mongo_db import store_current_situation_result
|
8 |
+
|
9 |
from .current_situation_analysis import (
|
10 |
analyze_text_dimensions,
|
11 |
analyze_clarity,
|
|
|
63 |
help="Este texto ser谩 analizado para darte recomendaciones personalizadas"
|
64 |
)
|
65 |
|
|
|
66 |
if st.button(
|
67 |
t.get('analyze_button', "Analizar mi escritura"),
|
68 |
type="primary",
|
|
|
75 |
doc = nlp_models[lang_code](text_input)
|
76 |
metrics = analyze_text_dimensions(doc)
|
77 |
|
78 |
+
# Guardar en MongoDB
|
79 |
+
storage_success = store_current_situation_result(
|
80 |
+
username=st.session_state.username,
|
81 |
+
text=text_input,
|
82 |
+
metrics=metrics,
|
83 |
+
feedback=None # Por ahora sin feedback
|
84 |
+
)
|
85 |
+
|
86 |
+
if not storage_success:
|
87 |
+
logger.warning("No se pudo guardar el an谩lisis en la base de datos")
|
88 |
+
|
89 |
+
# Actualizar estado
|
90 |
st.session_state.current_doc = doc
|
91 |
st.session_state.current_metrics = metrics
|
92 |
st.session_state.show_results = True
|
|
|
|
|
93 |
st.session_state.text_input = text_input
|
94 |
|
95 |
except Exception as e:
|
96 |
logger.error(f"Error en an谩lisis: {str(e)}")
|
97 |
st.error(t.get('analysis_error', "Error al analizar el texto"))
|
98 |
+
|
99 |
# Mostrar resultados en la columna derecha
|
100 |
with results_col:
|
101 |
if st.session_state.show_results and st.session_state.current_metrics is not None:
|
|
|
107 |
st.session_state.current_doc,
|
108 |
st.session_state.current_metrics
|
109 |
)
|
110 |
+
|
111 |
+
except Exception as e:
|
112 |
+
logger.error(f"Error en interfaz: {str(e)}")
|
113 |
+
st.error("Ocurri贸 un error. Por favor, intente de nuevo.")
|
114 |
|
115 |
def display_current_situation_visual(doc, metrics):
|
116 |
"""
|