Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -106,41 +106,6 @@ def search_direct(query, data, notif_map):
|
|
| 106 |
|
| 107 |
|
| 108 |
|
| 109 |
-
def log_query(query, result_event):
|
| 110 |
-
"""Registra una consulta y su resultado en un archivo CSV."""
|
| 111 |
-
log_file = 'query_log.csv'
|
| 112 |
-
# La fecha y hora actual en formato legible
|
| 113 |
-
timestamp = datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S")
|
| 114 |
-
|
| 115 |
-
# Prepara la fila a escribir
|
| 116 |
-
# Usamos comillas dobles y comas para el formato CSV
|
| 117 |
-
# Preparamos las partes de la entrada de registro para que sean seguras para CSV
|
| 118 |
-
safe_query = query.replace('"', '""')
|
| 119 |
-
safe_result = result_event.replace('"', '""')
|
| 120 |
-
|
| 121 |
-
# Construimos la entrada de registro
|
| 122 |
-
# El salto de línea '\n' ahora está fuera de la f-string
|
| 123 |
-
log_entry = f'"{timestamp}","{safe_query}","{safe_result}"' + '\n'
|
| 124 |
-
|
| 125 |
-
try:
|
| 126 |
-
# Abre el archivo en modo 'append' (añadir al final)
|
| 127 |
-
# Si el archivo no existe, lo crea.
|
| 128 |
-
with open(log_file, 'a', newline='', encoding='utf-8') as f:
|
| 129 |
-
# Escribe la cabecera si el archivo está vacío
|
| 130 |
-
if f.tell() == 0:
|
| 131 |
-
f.write('"Timestamp","UserQuery","AI_Result"\n')
|
| 132 |
-
f.write(log_entry)
|
| 133 |
-
logger.info(f"Consulta registrada: {query}")
|
| 134 |
-
except Exception as e:
|
| 135 |
-
logger.error(f"Error al registrar la consulta en CSV: {e}")
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
|
| 145 |
def search_with_gemini(query, event_list):
|
| 146 |
if not model: return "Error: Modelo Gemini no disponible."
|
|
@@ -270,19 +235,6 @@ if submitted:
|
|
| 270 |
st.session_state.last_query = query
|
| 271 |
|
| 272 |
|
| 273 |
-
|
| 274 |
-
|
| 275 |
-
# Si se encontró al menos un resultado, lo registramos.
|
| 276 |
-
if results:
|
| 277 |
-
# Tomamos el nombre del evento del primer resultado encontrado.
|
| 278 |
-
evento_encontrado = results[0].get("info_notificacion", {}).get("Evento", "Búsqueda Directa Exitosa")
|
| 279 |
-
log_query(query, evento_encontrado)
|
| 280 |
-
else:
|
| 281 |
-
# Opcional: registrar también las búsquedas sin resultados.
|
| 282 |
-
log_query(query, "NO_ENCONTRADO")
|
| 283 |
-
|
| 284 |
-
|
| 285 |
-
|
| 286 |
|
| 287 |
|
| 288 |
if st.session_state.search_results is not None: st.button("Limpiar Búsqueda", on_click=clear_search_state)
|
|
|
|
| 106 |
|
| 107 |
|
| 108 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
|
| 110 |
def search_with_gemini(query, event_list):
|
| 111 |
if not model: return "Error: Modelo Gemini no disponible."
|
|
|
|
| 235 |
st.session_state.last_query = query
|
| 236 |
|
| 237 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 238 |
|
| 239 |
|
| 240 |
if st.session_state.search_results is not None: st.button("Limpiar Búsqueda", on_click=clear_search_state)
|