File size: 3,908 Bytes
fb20480
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
import os
import sys
import streamlit as st

# إضافة المسارات للعثور على الوحدات
current_dir = os.path.dirname(os.path.abspath(__file__))
sys.path.append(current_dir)

# استيراد التطبيق الرئيسي
try:
    from app import main
except ImportError:
    # محاولة استيراد بطريقة بديلة إذا فشلت الطريقة الأولى
    try:
        from tender_analysis_system.app import main
    except ImportError:
        st.error("❌ فشل استيراد التطبيق الرئيسي. تأكد من هيكل المجلدات وتثبيت المكتبات.")
        st.info("ℹ️ قم بالتحقق من ملف requirements.txt وتأكد من تثبيت جميع المكتبات المطلوبة.")
        
        # عرض تعليمات حول كيفية إصلاح المشكلة
        with st.expander("🛠️ كيفية إصلاح المشكلة"):
            st.markdown("""

            ## خطوات إصلاح مشكلة الاستيراد

            

            1. تأكد من تثبيت جميع المكتبات المطلوبة:

            ```bash

            pip install -r requirements.txt

            ```

            

            2. تأكد من هيكل المجلدات:

            ```

            /

            ├── huggingface_app.py      # هذا الملف الحالي

            ├── app.py                  # التطبيق الرئيسي

            ├── config.py               # ملف الإعدادات

            └── modules/                # وحدات التطبيق

                ├── pricing/

                ├── document_analysis/

                └── ...

            ```

            

            3. قم بفحص سجل الأخطاء أدناه:

            """)
            st.code(str(sys.path), language="python")
            
        # إظهار واجهة بديلة بسيطة
        st.header("🚧 نظام تحليل المناقصات والعقود")
        st.subheader("لم يتم تحميل التطبيق بنجاح")
        st.write("هناك مشكلة في تحميل تطبيق تحليل المناقصات. يرجى مراجعة الإعدادات وإعادة المحاولة.")
        
        # الخروج من السكريبت
        sys.exit(1)

# تهيئة إعدادات الصفحة
st.set_page_config(
    page_title="نظام تحليل المناقصات والعقود",
    page_icon="📊",
    layout="wide",
    initial_sidebar_state="expanded",
    menu_items={
        'About': "تطبيق تحليل المناقصات والعقود - إصدار 2.0"
    }
)

# تهيئة متغيرات البيئة
def setup_environment():
    """تهيئة متغيرات البيئة اللازمة للتطبيق"""
    # التحقق من وجود مفاتيح API
    if os.environ.get("ANTHROPIC_API_KEY") is None:
        st.warning("⚠️ مفتاح API لـ Anthropic غير موجود. بعض الميزات قد لا تعمل.")
        api_key = st.text_input("أدخل مفتاح Anthropic API الخاص بك:", type="password")
        if api_key:
            os.environ["ANTHROPIC_API_KEY"] = api_key
            st.success("✅ تم تعيين مفتاح Anthropic API!")
    
    if os.environ.get("HUGGINGFACE_API_KEY") is None:
        st.warning("⚠️ مفتاح API لـ Hugging Face غير موجود. بعض الميزات قد لا تعمل.")
        api_key = st.text_input("أدخل مفتاح Hugging Face API الخاص بك:", type="password")
        if api_key:
            os.environ["HUGGINGFACE_API_KEY"] = api_key
            st.success("✅ تم تعيين مفتاح Hugging Face API!")

# تشغيل التطبيق
if __name__ == "__main__":
    setup_environment()
    main()