Dhruv-Ty commited on
Commit
921e3e5
·
verified ·
1 Parent(s): 2fe35fb

Update src/report_generator.py

Browse files
Files changed (1) hide show
  1. src/report_generator.py +16 -10
src/report_generator.py CHANGED
@@ -16,6 +16,7 @@ import requests
16
 
17
  from model import orchestrator_chat
18
  from utils import format_conversation_history
 
19
 
20
 
21
  # Function to fetch current date and time from an API
@@ -514,8 +515,8 @@ def generate_and_download_report():
514
  elif st.session_state.report_step == 2:
515
  with st.spinner("Generating report..."):
516
  try:
517
- # Get full conversation history from local session state
518
- full_history = st.session_state.get('history', [])
519
 
520
  # Format the conversation history for the report
521
  formatted_conversation = format_conversation_history(
@@ -561,15 +562,22 @@ def generate_and_download_report():
561
  if st.session_state.show_email_form:
562
  show_email_form()
563
 
564
- # After displaying download/email options, reset report_step to prevent re-generation
565
- # UNLESS an email form is active, in which case, it will be reset by show_email_form or cancel.
566
- if not st.session_state.get('show_email_form', False):
567
- st.session_state.report_step = 0 # Reset to neutral state
 
 
 
 
 
 
 
 
 
568
 
569
  except Exception as e:
570
  st.error(f"Error generating report: {str(e)}")
571
- # Ensure report_step is reset even on error to allow trying again from step 1
572
- st.session_state.report_step = 1
573
  st.button("Try Again", on_click=lambda: setattr(st.session_state, "report_step", 1))
574
 
575
 
@@ -609,7 +617,6 @@ def show_email_form():
609
  st.success(message)
610
  # Hide the form after successful send
611
  st.session_state.show_email_form = False
612
- st.session_state.report_step = 0 # Reset report step
613
  st.rerun()
614
  else:
615
  st.error(message)
@@ -617,5 +624,4 @@ def show_email_form():
617
  # Cancel button to hide email form
618
  if st.button("Cancel"):
619
  st.session_state.show_email_form = False
620
- st.session_state.report_step = 0 # Reset report step
621
  st.rerun()
 
16
 
17
  from model import orchestrator_chat
18
  from utils import format_conversation_history
19
+ from session_state import get_full_history
20
 
21
 
22
  # Function to fetch current date and time from an API
 
515
  elif st.session_state.report_step == 2:
516
  with st.spinner("Generating report..."):
517
  try:
518
+ # Get full conversation history from database
519
+ full_history = get_full_history()
520
 
521
  # Format the conversation history for the report
522
  formatted_conversation = format_conversation_history(
 
562
  if st.session_state.show_email_form:
563
  show_email_form()
564
 
565
+ # Option to start over
566
+ if st.button("New Report", use_container_width=True):
567
+ # Reset report step
568
+ st.session_state.report_step = 1
569
+ # Clear PDF data
570
+ if 'pdf_data' in st.session_state:
571
+ del st.session_state.pdf_data
572
+ # Reset patient info
573
+ st.session_state.patient_info = {"name": "", "age": "", "gender": ""}
574
+ # Hide email form if shown
575
+ st.session_state.show_email_form = False
576
+ # Force refresh
577
+ st.rerun()
578
 
579
  except Exception as e:
580
  st.error(f"Error generating report: {str(e)}")
 
 
581
  st.button("Try Again", on_click=lambda: setattr(st.session_state, "report_step", 1))
582
 
583
 
 
617
  st.success(message)
618
  # Hide the form after successful send
619
  st.session_state.show_email_form = False
 
620
  st.rerun()
621
  else:
622
  st.error(message)
 
624
  # Cancel button to hide email form
625
  if st.button("Cancel"):
626
  st.session_state.show_email_form = False
 
627
  st.rerun()