import sys
from django.core import management
def main(settings_file, logfile=None):
try:
mod = __import__(settings_file)
components = settings_file.split('.')
for comp in components[1:]:
mod = getattr(mod, comp)
except ImportError, e:
sys.stderr.write("Error loading the settings module '%s': %s"
% (settings_file, e))
sys.exit(1)
# Setup settings
management.setup_environ(mod)
if logfile:
import datetime
class logger(object):
def __init__(self, logfile):
self.logfile = logfile
def write(self, data):
self.log(data)
def writeline(self, data):
self.log(data)
def log(self, msg):
line = '%s - %s\n' % (
datetime.datetime.now().strftime('%Y%m%d %H:%M:%S'), msg)
fp = open(self.logfile, 'a')
try:
fp.write(line)
finally:
fp.close()
sys.stdout = sys.stderr = logger(logfile)
from django.core.handlers.wsgi import WSGIHandler
# Run WSGI handler for the application
return WSGIHandler()