import sys
import os

# پیدا کردن و ثبت آدرس روت پروژه
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
sys.path.insert(0, PROJECT_ROOT)
os.chdir(PROJECT_ROOT)

# اضافه کردن مسیر محیط مجازی پایتون به مسیر سیستم
# این خط کمک می‌کند تا وب‌سرور تمام کتابخانه‌های نصب شده در محیط مجازی شما را بشناسد
VENV_PATH = "/home/dmhiraco/virtualenv/public_html/image-system/3.12/lib/python3.12/site-packages"
if VENV_PATH not in sys.path:
    sys.path.insert(1, VENV_PATH)

try:
    from a2wsgi import ASGIMiddleware
    from main import app as fastapi_app
    
    # ساخت اینترفیس سازگار با وب‌سرور cPanel
    application = ASGIMiddleware(fastapi_app)
    
except Exception as e:
    # ثبت خطاهای احتمالی ایمپورت در فایل لاگ مخصوص جهت عیب‌یابی ساده‌تر
    with open(os.path.join(PROJECT_ROOT, "startup_error.log"), "w") as f:
        import traceback
        traceback.print_exc(file=f)
    raise e
