annotate bns_website/apache/bns.wsgi @ 87:fbeda0f5f3be

Fix for odd Webkit CSS issue when using jPlayer Blue Monday skin and our CSS. All instances of the Future Bugler font on the Listen page were jaggie and smaller than expected.
author Chris Ridgway <ckridgway@gmail.com>
date Sun, 27 Nov 2011 15:06:26 -0600
parents a5e8741452a3
children f00199f1524c
rev   line source
bgneal@19 1 import os
bgneal@19 2 import sys
bgneal@19 3
bgneal@19 4 OFFLINE = False
bgneal@19 5
bgneal@19 6 here = os.path.dirname(__file__)
bgneal@19 7 website = os.path.dirname(here)
bgneal@26 8 repo = os.path.dirname(website)
bgneal@26 9 project = os.path.dirname(repo)
bgneal@19 10 eggs = os.path.join(project, 'eggs')
bgneal@27 11 django = os.path.join(project, 'django')
bgneal@19 12
bgneal@27 13 sys.path.extend([repo, website, django])
bgneal@19 14
bgneal@19 15 os.environ['PYTHON_EGG_CACHE'] = eggs
bgneal@19 16
bgneal@19 17
bgneal@19 18 def offline_handler(environ, start_response):
bgneal@19 19 """
bgneal@19 20 This handler is run when the site is in maintenance mode.
bgneal@19 21 It either displays a brief outage message, or, if a template
bgneal@19 22 file exists, it reads the file and returns its contents.
bgneal@19 23
bgneal@19 24 """
bgneal@19 25 wsgi_dir = os.path.dirname(__file__)
bgneal@19 26 sys.path.append(wsgi_dir)
bgneal@19 27
bgneal@19 28 offline_file = os.path.abspath(
bgneal@19 29 os.path.join(wsgi_dir, '..', 'templates', 'offline.html'))
bgneal@19 30 if os.path.exists(offline_file):
bgneal@19 31 response_headers = [('Content-type','text/html')]
bgneal@19 32 response = open(offline_file).read()
bgneal@19 33 else:
bgneal@19 34 response_headers = [('Content-type','text/plain')]
bgneal@19 35 response = ('Brave New Surf website maintenance in progress; '
bgneal@19 36 'please check back soon.')
bgneal@19 37
bgneal@19 38 if environ['REQUEST_METHOD'] == 'GET':
bgneal@19 39 status = '503 Service Unavailable'
bgneal@19 40 else:
bgneal@19 41 status = '405 Method Not Allowed'
bgneal@19 42 start_response(status, response_headers)
bgneal@19 43 return [response]
bgneal@19 44
bgneal@19 45
bgneal@19 46 if not OFFLINE:
bgneal@19 47 os.environ['DJANGO_SETTINGS_MODULE'] = 'bns_website.settings.production'
bgneal@19 48 import django.core.handlers.wsgi
bgneal@19 49 application = django.core.handlers.wsgi.WSGIHandler()
bgneal@19 50 else:
bgneal@19 51 application = offline_handler