production-taskbar / backend / manage.py
manage.py
Raw
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys

from django.conf import settings


def init_debugger() -> None:
    service = os.environ.get('SERVICE', None)
    if settings.DEBUG and service and not os.environ.get('RUN_MAIN', False):
        import debugpy

        d = debugpy.listen(("0.0.0.0", 8001))
        sys.stdout.write(f'=== Debugger for {service} started on port {d[1]} ===\n')


def main() -> None:

    os.environ.setdefault('DJANGO_SETTINGS_MODULE',
                          'config.settings.production')

    try:
        from django.core.management import execute_from_command_line
    except ImportError as exc:
        raise ImportError(
            "Couldn't import Django. Are you sure it's installed and "
            "available on your PYTHONPATH environment variable? Did you "
            "forget to activate a virtual environment?") from exc
    init_debugger()
    execute_from_command_line(sys.argv)


if __name__ == '__main__':
    main()