Spaces:
Sleeping
Sleeping
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() |