signal backend, app cleanup

This commit is contained in:
j 2023-07-24 12:05:45 +01:00
commit 6f18890739
43 changed files with 695 additions and 124 deletions

View file

@ -1,11 +1,35 @@
#!/usr/bin/env python
#!/usr/bin/env python3
"""Django's command-line utility for administrative tasks."""
import os
import sys
def activate_venv(base):
if os.path.exists(base):
old_os_path = os.environ.get("PATH", "")
os.environ["PATH"] = os.path.join(base, "bin") + os.pathsep + old_os_path
version = "%s.%s" % (sys.version_info.major, sys.version_info.minor)
site_packages = os.path.join(base, "lib", "python%s" % version, "site-packages")
prev_sys_path = list(sys.path)
import site
site.addsitedir(site_packages)
sys.real_prefix = sys.prefix
sys.prefix = base
# Move the added items to the front of the path:
new_sys_path = []
for item in list(sys.path):
if item not in prev_sys_path:
new_sys_path.append(item)
sys.path.remove(item)
sys.path[:0] = new_sys_path
def main():
"""Run administrative tasks."""
root_dir = os.path.normpath(os.path.abspath(os.path.dirname(__file__)))
activate_venv(os.path.normpath(os.path.join(root_dir, "venv")))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "app.settings")
try:
from django.core.management import execute_from_command_line