dpaste/pastebin/bin/manage.py

41 lines
1.5 KiB
Python
Raw Normal View History

2011-05-30 09:03:04 +10:00
#!/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()