ai-assistant / pages /result.py
digitalai's picture
Update pages/result.py
3239eb3 verified
raw
history blame
2.58 kB
import datetime
import streamlit as st
from config.print_data import ConversationProcessor
from arabic_support import support_arabic_text
from pathlib import Path
from PIL import Image
from datetime import date
# مسیر فایل فعلی
current_file_path = Path(__file__).resolve()
# مسیر ریشه پروژه (یک سطح بالاتر از فایل فعلی)
project_root = current_file_path.parents[1]
# مسیرهای دایرکتوری‌ها
assets_dir = project_root / 'asset'
database_dir = project_root / "data"
styles_dir = project_root / "styles"
# Streamlit page configuration
st.set_page_config(
page_title="Data Handling",
page_icon="📈",
layout="wide",
initial_sidebar_state="expanded",
)
# پشتیبانی از متن عربی در تمامی اجزاء
support_arabic_text(all=True)
# خواندن CSS از فایل
with open(styles_dir / "main.css", "r") as file:
css_code = file.read()
# اعمال CSS
st.markdown(f"<style>{css_code}</style>", unsafe_allow_html=True)
side = st.sidebar
# Initialize session state
state = st.session_state
if "messages" not in state:
state["messages"] = []
if "start" not in state:
state["start"] = """سلام من دستیار شما هستم. برای بررسی و تصمیم گیری وضعیت بیماران
مرحله به مرحله بررسی وضعیت بیمار را با کمک من انجام دهید.برای شروع پیشنهاد
می‌کنم اختلالات حرکتی را بررسی کنید. آیا بیمار دارای چنین اختلالی است؟"""
# پشتیبانی از متن عربی در تمامی اجزاء
support_arabic_text(all=True)
# Sidebar menu
with side:
# Display image
img = Image.open(assets_dir / "us.png")
st.image(img, width=250, caption="بررسی های صورت گرفته را میتوانید در این بخش دریافت نمایید")
def main():
st.title('بررسی نتایج و گزارش وضعیت')
processor = ConversationProcessor(state)
if st.button('ذخیره گزارش'):
output_file = f"{date.today()}_report.txt"
processor.save_conversation_to_text(output_file)
with open(output_file, 'r', encoding='utf-8') as file:
report_text = file.read()
st.text_area("گزارش", report_text, height=300)
st.download_button(
label="دانلود فایل متنی",
data=report_text,
file_name=output_file,
mime="text/plain"
)
if __name__ == "__main__":
main()