#!/usr/bin/env python
"""Django management entry point with safe local development bootstrap."""
import os
import sys
from pathlib import Path


def main():
    base = Path(__file__).resolve().parent
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
    # No local overrides when a production .env exists, or an explicit config
    # was supplied. This only affects developer commands on a local checkout.
    explicit = bool(os.getenv("TELEHEALTH_ENV_FILE")) or bool(os.getenv("DJANGO_SECRET_KEY"))
    if (not explicit and not (base / ".env").exists()
            and (len(sys.argv) > 1 and sys.argv[1] in {
                "runserver", "check", "migrate", "makemigrations", "shell",
                "createsuperuser", "collectstatic", "showmigrations", "test"
            })):
        from CREATE_LOCAL_ENV import ensure_local_env
        ensure_local_env()
        os.environ.setdefault("TELEHEALTH_LOCAL_DEV", "1")
        os.environ.setdefault("DJANGO_DEBUG", "1")
    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError("Django is not installed in the active Python environment. Install requirements.txt first.") from exc
    execute_from_command_line(sys.argv)

if __name__ == "__main__":
    main()
