Update src/report_generator.py
Browse files- 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
|
| 518 |
-
full_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 |
-
#
|
| 565 |
-
|
| 566 |
-
|
| 567 |
-
st.session_state.report_step =
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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()
|