mirror of
https://github.com/DarrenOfficial/dpaste.git
synced 2024-11-15 16:12:51 +11:00
40 lines
1.5 KiB
Python
Executable file
40 lines
1.5 KiB
Python
Executable file
#!/usr/bin/env python
|
|
import os
|
|
import sys
|
|
from django import get_version
|
|
from django.core.management import execute_from_command_line, LaxOptionParser
|
|
from django.core.management.base import BaseCommand
|
|
|
|
# Work out the project module name and root directory, assuming that this file
|
|
# is located at [project]/bin/manage.py
|
|
PROJECT_DIR, PROJECT_MODULE_NAME = os.path.split(
|
|
os.path.dirname(os.path.dirname(os.path.realpath(__file__))))
|
|
|
|
# Check that the project module can be imported.
|
|
try:
|
|
__import__(PROJECT_MODULE_NAME)
|
|
except ImportError:
|
|
# Couldn't import the project, place it on the Python path and try again.
|
|
sys.path.append(PROJECT_DIR)
|
|
try:
|
|
__import__(PROJECT_MODULE_NAME)
|
|
except ImportError:
|
|
sys.stderr.write("Error: Can't import the \"%s\" project module." %
|
|
PROJECT_MODULE_NAME)
|
|
sys.exit(1)
|
|
|
|
def has_settings_option():
|
|
parser = LaxOptionParser(usage="%prog subcommand [options] [args]",
|
|
version=get_version(),
|
|
option_list=BaseCommand.option_list)
|
|
try:
|
|
options = parser.parse_args(sys.argv[:])[0]
|
|
except:
|
|
return False # Ignore any option errors at this point.
|
|
return bool(options.settings)
|
|
|
|
if not has_settings_option() and not 'DJANGO_SETTINGS_MODULE' in os.environ:
|
|
settings_module = '%s.conf.local.settings' % PROJECT_MODULE_NAME
|
|
os.environ['DJANGO_SETTINGS_MODULE'] = settings_module
|
|
|
|
execute_from_command_line()
|