eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/wsgi.py
changeset 307 c6bca38c1cbf
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/wsgi.py	Sat Jan 08 11:20:57 2011 +0530
@@ -0,0 +1,45 @@
+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()