Update modules/ui/user_page.py
Browse files- modules/ui/user_page.py +27 -3
modules/ui/user_page.py
CHANGED
|
@@ -91,12 +91,36 @@ def user_page(lang_code, t):
|
|
| 91 |
if 'user_data' not in st.session_state:
|
| 92 |
with st.spinner(t.get('loading_data', "Cargando tus datos...")):
|
| 93 |
try:
|
| 94 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 95 |
st.session_state.last_data_fetch = datetime.now(timezone.utc).isoformat()
|
|
|
|
| 96 |
except Exception as e:
|
| 97 |
logger.error(f"Error al obtener datos del usuario: {str(e)}")
|
| 98 |
-
|
| 99 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 100 |
|
| 101 |
logger.info(f"Idioma actual: {st.session_state.lang_code}")
|
| 102 |
logger.info(f"Modelos NLP cargados: {'nlp_models' in st.session_state}")
|
|
|
|
| 91 |
if 'user_data' not in st.session_state:
|
| 92 |
with st.spinner(t.get('loading_data', "Cargando tus datos...")):
|
| 93 |
try:
|
| 94 |
+
# Obtener datos sem谩nticos
|
| 95 |
+
semantic_data = get_student_semantic_data(st.session_state.username)
|
| 96 |
+
|
| 97 |
+
# Verificar si la operaci贸n fue exitosa
|
| 98 |
+
if semantic_data.get('status') == 'error':
|
| 99 |
+
raise Exception(semantic_data.get('error', 'Error desconocido al obtener datos'))
|
| 100 |
+
|
| 101 |
+
# Almacenar datos en session_state
|
| 102 |
+
st.session_state.user_data = {
|
| 103 |
+
'semantic_analyses': semantic_data.get('entries', []),
|
| 104 |
+
'analysis_count': semantic_data.get('count', 0),
|
| 105 |
+
'last_analysis': semantic_data['entries'][0] if semantic_data['entries'] else None,
|
| 106 |
+
'username': st.session_state.username,
|
| 107 |
+
'loaded_at': datetime.now(timezone.utc).isoformat()
|
| 108 |
+
}
|
| 109 |
+
|
| 110 |
st.session_state.last_data_fetch = datetime.now(timezone.utc).isoformat()
|
| 111 |
+
|
| 112 |
except Exception as e:
|
| 113 |
logger.error(f"Error al obtener datos del usuario: {str(e)}")
|
| 114 |
+
# Crear estructura vac铆a para evitar errores
|
| 115 |
+
st.session_state.user_data = {
|
| 116 |
+
'semantic_analyses': [],
|
| 117 |
+
'analysis_count': 0,
|
| 118 |
+
'last_analysis': None,
|
| 119 |
+
'username': st.session_state.username,
|
| 120 |
+
'error': str(e)
|
| 121 |
+
}
|
| 122 |
+
st.error(t.get('data_load_error', "Hubo un problema al cargar tus datos. Algunas funciones pueden estar limitadas."))
|
| 123 |
+
# No hacer return aqu铆 para permitir que la aplicaci贸n contin煤e
|
| 124 |
|
| 125 |
logger.info(f"Idioma actual: {st.session_state.lang_code}")
|
| 126 |
logger.info(f"Modelos NLP cargados: {'nlp_models' in st.session_state}")
|