mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +00:00
Django, by default, prints these exceptions as a giant traceback, which is really ugly and scary to sysadmins. We really just want to print the error message to stdout for convenient viewing by the user.
38 lines
1.2 KiB
Python
Executable File
38 lines
1.2 KiB
Python
Executable File
#!/usr/bin/env python
|
|
from __future__ import absolute_import
|
|
from __future__ import print_function
|
|
|
|
import os
|
|
import sys
|
|
import logging
|
|
import subprocess
|
|
|
|
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
|
sys.path.append(BASE_DIR)
|
|
import scripts.lib.setup_path_on_import
|
|
|
|
if __name__ == "__main__":
|
|
if 'posix' in os.name and os.geteuid() == 0:
|
|
from django.core.management.base import CommandError
|
|
raise CommandError("manage.py should not be run as root. Use `su zulip` to drop root.")
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "zproject.settings")
|
|
os.environ.setdefault("PYTHONSTARTUP", os.path.join(BASE_DIR, "scripts/lib/pythonrc.py"))
|
|
|
|
from django.conf import settings
|
|
from django.core.management.base import CommandError
|
|
|
|
logger = logging.getLogger("zulip.management")
|
|
subprocess.check_call([os.path.join(BASE_DIR, "scripts", "lib", "log-management-command"),
|
|
" ".join(sys.argv)])
|
|
|
|
if "--no-traceback" not in sys.argv and len(sys.argv) > 1:
|
|
sys.argv.append("--traceback")
|
|
|
|
from django.core.management import execute_from_command_line
|
|
|
|
try:
|
|
execute_from_command_line(sys.argv)
|
|
except CommandError as e:
|
|
print(e, file=sys.stderr)
|
|
sys.exit(1)
|