summaryrefslogtreecommitdiff
path: root/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.py
diff options
context:
space:
mode:
Diffstat (limited to 'eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.py')
-rw-r--r--eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.py b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.py
new file mode 100644
index 0000000..17a793e
--- /dev/null
+++ b/eggs/djangorecipe-0.20-py2.6.egg/djangorecipe/fcgi.py
@@ -0,0 +1,29 @@
+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:
+ import sys
+ sys.stderr.write("Error loading the settings module '%s': %s"
+ % (settings_file, e))
+ sys.exit(1)
+
+ # Setup settings
+ management.setup_environ(mod)
+
+ from django.conf import settings
+
+ options = getattr(settings, 'FCGI_OPTIONS', {})
+ if logfile:
+ options['outlog'] = logfile
+ options['errlog'] = logfile
+
+ from django.core.servers.fastcgi import runfastcgi
+
+ # Run FASTCGI handler
+ runfastcgi(**options)