import sys, os

LOG_FILE = "/home/esspk/mcm_backend/debug.log"

def log(msg):
    with open(LOG_FILE, "a") as f:
        import datetime
        f.write(f"[{datetime.datetime.now()}] {msg}\n")

log("=== PASSENGER WSGI STARTED ===")

try:
    sys.path.insert(0, "/home/esspk/mcm_backend")
    log("Path added")

    os.environ["DJANGO_SETTINGS_MODULE"] = "mcm_backend.settings"
    log("Settings module set")

    from django.core.wsgi import get_wsgi_application
    log("Django imported")

    _application = get_wsgi_application()
    log("Django app created OK")

    def application(environ, start_response):
        path = environ.get('PATH_INFO', '/')
        method = environ.get('REQUEST_METHOD', '?')
        log(f"REQUEST: {method} {path}")
        try:
            result = _application(environ, start_response)
            log(f"RESPONSE OK: {path}")
            return result
        except Exception:
            import traceback
            err = traceback.format_exc()
            log(f"RESPONSE ERROR: {path}\n{err}")
            start_response('500 Internal Server Error', [('Content-Type', 'text/plain')])
            return [f"Request Error:\n\n{err}".encode()]

except Exception:
    import traceback
    err = traceback.format_exc()
    log(f"STARTUP CRASH:\n{err}")

    def application(environ, start_response):
        log(f"SERVING CRASH PAGE")
        start_response('200 OK', [('Content-Type', 'text/plain')])
        return [f"DJANGO STARTUP CRASH:\n\n{err}".encode()]