"""Phusion Passenger ASGI entry point for cPanel."""

from __future__ import annotations

import logging
import os
import sys
from pathlib import Path

from a2wsgi import ASGIMiddleware

PROJECT_ROOT = Path(__file__).resolve().parent
if str(PROJECT_ROOT) not in sys.path:
    sys.path.insert(0, str(PROJECT_ROOT))

ENV_FILE = PROJECT_ROOT / ".env"
if ENV_FILE.exists():
    try:
        from dotenv import load_dotenv

        load_dotenv(ENV_FILE, override=False)
    except Exception:  # pragma: no cover - defensive
        pass

logging.basicConfig(
    level=os.getenv("LOG_LEVEL", "INFO"),
    format="%(asctime)s [%(levelname)s] %(name)s: %(message)s",
    stream=sys.stdout,
)

from app.main import app as fastapi_app  # noqa: E402

application = ASGIMiddleware(fastapi_app)
