Source code for ferrosoft.cli.manage
#!/usr/bin/env python3
"""``platform-manage`` — Django management command wrapper.
Thin shim around :func:`django.core.management.execute_from_command_line`
that sets the default ``DJANGO_SETTINGS_MODULE`` to
``ferrosoft.container.settings`` and configures root logging from the
``FERROSOFT_LOG_LEVEL`` environment variable (defaults to ``INFO``).
Usage::
platform-manage <subcommand> [options]
All standard Django management commands (``migrate``, ``shell``,
``createsuperuser``, …) plus any custom commands registered by installed
Ferrosoft apps are available through this entry point.
"""
import logging
import os
import sys
from django.core.management import execute_from_command_line
[docs]
def main():
"""Configure Django settings and logging, then dispatch to the requested management command."""
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ferrosoft.container.settings")
logging.basicConfig(level=os.environ.get("FERROSOFT_LOG_LEVEL", "INFO"))
execute_from_command_line(sys.argv)
if __name__ == "__main__":
main()