Spaces:
Sleeping
Sleeping
Commit
·
d4fbeb6
1
Parent(s):
0627dbe
Refactor Streamlit app: unify key names for input fields and clarify state management for precompletion
Browse files- src/streamlit_app.py +8 -7
src/streamlit_app.py
CHANGED
|
@@ -26,7 +26,7 @@ with st.expander("ℹ️ Dejar que la IA precomplete los campos", expanded=False
|
|
| 26 |
"Texto de la alerta/incidente (puede pegar aquí el mensaje completo)",
|
| 27 |
value=st.session_state['raw_text'],
|
| 28 |
height=120,
|
| 29 |
-
key="
|
| 30 |
)
|
| 31 |
|
| 32 |
# Botón para precompletar los campos con IA
|
|
@@ -77,7 +77,8 @@ def precompletar_campos_con_ia(api_key, raw_text):
|
|
| 77 |
|
| 78 |
# Si el usuario presiona el botón de precompletar
|
| 79 |
if precomplete:
|
| 80 |
-
st.session_state['raw_text']
|
|
|
|
| 81 |
st.session_state['precomplete_triggered'] = True
|
| 82 |
api_key = st.session_state.get('gemini_api_key')
|
| 83 |
if not api_key:
|
|
@@ -174,20 +175,20 @@ with st.form("post_mortem_form"):
|
|
| 174 |
"Tipo de Alerta / Título del Problema",
|
| 175 |
value=st.session_state.get('tipo_alerta', ''),
|
| 176 |
placeholder="Ej: High CPU usage en DB Server; Caída del servicio de Login",
|
| 177 |
-
key="
|
| 178 |
)
|
| 179 |
sistema_afectado = st.text_input(
|
| 180 |
"Sistema Afectado",
|
| 181 |
value=st.session_state.get('sistema_afectado', ''),
|
| 182 |
placeholder="Ej: Servidor de Base de Datos; Microservicio de Autenticación",
|
| 183 |
-
key="
|
| 184 |
)
|
| 185 |
with col2:
|
| 186 |
fecha_hora = st.text_input(
|
| 187 |
"Fecha y Hora",
|
| 188 |
value=st.session_state.get('fecha_hora', ''),
|
| 189 |
placeholder="Ej: 26/Sep/2025 21:45 PM UTC-3",
|
| 190 |
-
key="
|
| 191 |
)
|
| 192 |
st.subheader("Descripción y Consecuencias")
|
| 193 |
impacto_detalle = st.text_area(
|
|
@@ -195,14 +196,14 @@ with st.form("post_mortem_form"):
|
|
| 195 |
value=st.session_state.get('impacto_detalle', ''),
|
| 196 |
placeholder="Ej: Latencia elevada afectó al 20% de los usuarios.",
|
| 197 |
height=150,
|
| 198 |
-
key="
|
| 199 |
)
|
| 200 |
acciones_tomadas = st.text_area(
|
| 201 |
"Acciones Tomadas (Mitigación Inmediata)",
|
| 202 |
value=st.session_state.get('acciones_tomadas', ''),
|
| 203 |
placeholder="Ej: Se escaló a Dev Team. Se reinició el servicio crítico.",
|
| 204 |
height=150,
|
| 205 |
-
key="
|
| 206 |
)
|
| 207 |
# Botón de envío
|
| 208 |
submitted = st.form_submit_button("🚀 Generar Informe Post-Mortem")
|
|
|
|
| 26 |
"Texto de la alerta/incidente (puede pegar aquí el mensaje completo)",
|
| 27 |
value=st.session_state['raw_text'],
|
| 28 |
height=120,
|
| 29 |
+
key="raw_text"
|
| 30 |
)
|
| 31 |
|
| 32 |
# Botón para precompletar los campos con IA
|
|
|
|
| 77 |
|
| 78 |
# Si el usuario presiona el botón de precompletar
|
| 79 |
if precomplete:
|
| 80 |
+
# No reasignar st.session_state['raw_text'] aquí: el widget con key 'raw_text'
|
| 81 |
+
# ya fue instanciado arriba y Streamlit no permite modificarlo después.
|
| 82 |
st.session_state['precomplete_triggered'] = True
|
| 83 |
api_key = st.session_state.get('gemini_api_key')
|
| 84 |
if not api_key:
|
|
|
|
| 175 |
"Tipo de Alerta / Título del Problema",
|
| 176 |
value=st.session_state.get('tipo_alerta', ''),
|
| 177 |
placeholder="Ej: High CPU usage en DB Server; Caída del servicio de Login",
|
| 178 |
+
key="tipo_alerta"
|
| 179 |
)
|
| 180 |
sistema_afectado = st.text_input(
|
| 181 |
"Sistema Afectado",
|
| 182 |
value=st.session_state.get('sistema_afectado', ''),
|
| 183 |
placeholder="Ej: Servidor de Base de Datos; Microservicio de Autenticación",
|
| 184 |
+
key="sistema_afectado"
|
| 185 |
)
|
| 186 |
with col2:
|
| 187 |
fecha_hora = st.text_input(
|
| 188 |
"Fecha y Hora",
|
| 189 |
value=st.session_state.get('fecha_hora', ''),
|
| 190 |
placeholder="Ej: 26/Sep/2025 21:45 PM UTC-3",
|
| 191 |
+
key="fecha_hora"
|
| 192 |
)
|
| 193 |
st.subheader("Descripción y Consecuencias")
|
| 194 |
impacto_detalle = st.text_area(
|
|
|
|
| 196 |
value=st.session_state.get('impacto_detalle', ''),
|
| 197 |
placeholder="Ej: Latencia elevada afectó al 20% de los usuarios.",
|
| 198 |
height=150,
|
| 199 |
+
key="impacto_detalle"
|
| 200 |
)
|
| 201 |
acciones_tomadas = st.text_area(
|
| 202 |
"Acciones Tomadas (Mitigación Inmediata)",
|
| 203 |
value=st.session_state.get('acciones_tomadas', ''),
|
| 204 |
placeholder="Ej: Se escaló a Dev Team. Se reinició el servicio crítico.",
|
| 205 |
height=150,
|
| 206 |
+
key="acciones_tomadas"
|
| 207 |
)
|
| 208 |
# Botón de envío
|
| 209 |
submitted = st.form_submit_button("🚀 Generar Informe Post-Mortem")
|