JairoCesar commited on
Commit
00bdbae
·
verified ·
1 Parent(s): bd8f975

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +27 -4
app.py CHANGED
@@ -1099,15 +1099,38 @@ if st.session_state.search_results is not None:
1099
  col1, col2 = st.columns([3,1])
1100
  with col1:
1101
  st.success(f"Hemos encontrado {len(results)} posible(s) causa(s) relacionada(s) con tu caso.")
1102
- with col2:
1103
- if word_file_buffer:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1104
  st.download_button(
1105
- label="📄 Descargar Informe Completo (Word)",
1106
- data=word_file_buffer,
1107
  file_name=f"Informe_Detective_Alimentos_{datetime.now().strftime('%Y%m%d')}.docx",
1108
  mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document",
1109
  key="download_word_report"
1110
  )
 
 
1111
 
1112
  st.subheader("Análisis de Relevancia de las Coincidencias")
1113
  st.altair_chart(create_relevance_chart(results), use_container_width=True)
 
1099
  col1, col2 = st.columns([3,1])
1100
  with col1:
1101
  st.success(f"Hemos encontrado {len(results)} posible(s) causa(s) relacionada(s) con tu caso.")
1102
+ with col2:
1103
+ # Inicializar el estado si no existe
1104
+ if 'report_generated' not in st.session_state:
1105
+ st.session_state.report_generated = False
1106
+ st.session_state.word_file_buffer = None
1107
+
1108
+ # Botón para iniciar la generación del informe
1109
+ if st.button("📄 Preparar Informe (Word)", key="prepare_report"):
1110
+ with st.spinner("Generando su informe personalizado, por favor espere..."):
1111
+ # Generar todo el contenido del informe
1112
+ ai_analysis_text = st.session_state.analysis_cache.get('best_match_analysis', "Análisis no disponible.")
1113
+ base_report_text = generate_report_text(st.session_state.user_query, results)
1114
+ neuro_report_text = generate_neuro_report_text(st.session_state.entities, FOOD_TO_COMPOUND_MAP, INTEGRATED_NEURO_FOOD_MAP)
1115
+ molecular_report_text = generate_molecular_report_text(best_match, st.session_state.entities, foodb_index, FOOD_NAME_TO_FOODB_KEY, COMPOUND_SYNONYM_MAP, KNOWN_TRIGGERS_MAP)
1116
+
1117
+ complete_report_string = f"{base_report_text}\n\n{ai_analysis_text}\n{neuro_report_text}\n{molecular_report_text}"
1118
+
1119
+ # Guardar el buffer del archivo de Word en el estado de la sesión
1120
+ st.session_state.word_file_buffer = generate_word_report(complete_report_string)
1121
+ st.session_state.report_generated = True
1122
+
1123
+ # Si el informe ya se generó, mostrar el botón de descarga
1124
+ if st.session_state.report_generated and st.session_state.word_file_buffer:
1125
  st.download_button(
1126
+ label=" Descargar Informe Ahora",
1127
+ data=st.session_state.word_file_buffer,
1128
  file_name=f"Informe_Detective_Alimentos_{datetime.now().strftime('%Y%m%d')}.docx",
1129
  mime="application/vnd.openxmlformats-officedocument.wordprocessingml.document",
1130
  key="download_word_report"
1131
  )
1132
+ # Opcional: Mostrar un mensaje de éxito
1133
+ st.success("¡Su informe está listo!")
1134
 
1135
  st.subheader("Análisis de Relevancia de las Coincidencias")
1136
  st.altair_chart(create_relevance_chart(results), use_container_width=True)