diff mysite/apache/madeira.wsgi @ 26:efb2da0b5d10

Merging the django1.3 branch into trunk.
author Brian Neal <bgneal@gmail.com>
date Wed, 30 Mar 2011 00:16:32 +0000
parents a411e22d73be
children 903260593491
line wrap: on
line diff
--- a/mysite/apache/madeira.wsgi	Sun Mar 20 19:53:35 2011 +0000
+++ b/mysite/apache/madeira.wsgi	Wed Mar 30 00:16:32 2011 +0000
@@ -1,11 +1,37 @@
 import os
 import sys
 
+OFFLINE = False
+
 sys.path.append('/home/var/django-sites/madeira/django-trunk')
 sys.path.append('/home/var/django-sites/madeira/madeira-trunk')
+sys.path.append('/home/var/django-sites/madeira/madeira-trunk/mysite')
 os.environ['PYTHON_EGG_CACHE'] = '/home/var/django-sites/madeira/eggs/'
-os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
 
-import django.core.handlers.wsgi
 
-application = django.core.handlers.wsgi.WSGIHandler()
+def offline_handler(environ, start_response):
+    wsgi_dir = os.path.dirname(__file__)
+    sys.path.append(wsgi_dir)
+
+    offline_file = os.path.join(wsgi_dir, '..', 'templates', 'offline.html')
+    if os.path.exists(offline_file):
+        response_headers = [('Content-type','text/html')]
+        response = open(offline_file).read()
+    else:
+        response_headers = [('Content-type','text/plain')]
+        response = 'themadeira.net website maintenance in progress; please check back soon.'
+ 
+    if environ['REQUEST_METHOD'] == 'GET':
+        status = '503 Service Unavailable'
+    else:
+        status = '405 Method Not Allowed'
+    start_response(status, response_headers)
+    return [response]
+
+
+if not OFFLINE:
+    os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'
+    import django.core.handlers.wsgi
+    application = django.core.handlers.wsgi.WSGIHandler()
+else:
+   application = offline_handler