mirror of
				https://github.com/zulip/zulip.git
				synced 2025-11-04 05:53:43 +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)
 |