Skip to content

Commit

Permalink
More wsgi tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
lmorchard committed Aug 11, 2010
1 parent a156258 commit 8e66953
Showing 1 changed file with 4 additions and 13 deletions.
17 changes: 4 additions & 13 deletions wsgi/badger.wsgi
@@ -1,18 +1,16 @@
import os
from os.path import abspath, dirname, join
from site import addsitedir
import site
import sys
from datetime import datetime

# redirect sys.stdout to sys.stderr for bad libraries like geopy that uses
# print statements for optional import exceptions.
# fix markdown.py (and potentially others) using stdout
sys.stdout = sys.stderr

# Remember when mod_wsgi loaded this file so we can track it in nagios.
wsgi_loaded = datetime.now()

# Add the badger dir to the python path so we can import manage.
# Add the main dir to the python path so we can import manage.
wsgidir = os.path.dirname(__file__)
sys.path.insert(0, abspath(join(dirname(__file__), "../../")))
site.addsitedir(os.path.abspath(os.path.join(wsgidir, '../')))

# manage adds /apps, /lib, and /vendor to the Python path.
Expand All @@ -25,24 +23,17 @@ import django.utils

# Do validate and activate translations like using `./manage.py runserver`.
# http://blog.dscpl.com.au/2010/03/improved-wsgi-script-for-use-with.html
django.utils.translation.activate(django.conf.settings.LANGUAGE_CODE)
utility = django.core.management.ManagementUtility()
command = utility.fetch_command('runserver')
command.validate()

# This is what mod_wsgi runs.
django_app = django.core.handlers.wsgi.WSGIHandler()

# Normally we could let WSGIHandler run directly, but while we're dark
# launching, we want to force the script name to be empty so we don't create
# any /z links through reverse. This fixes bug 554576.
def application(env, start_response):
if 'HTTP_X_ZEUS_DL_PT' in env:
env['SCRIPT_URL'] = env['SCRIPT_NAME'] = ''
env['wsgi.loaded'] = wsgi_loaded
return django_app(env, start_response)


# Uncomment this to figure out what's going on with the mod_wsgi environment.
# def application(env, start_response):
# start_response('200 OK', [('Content-Type', 'text/plain')])
Expand Down

0 comments on commit 8e66953

Please sign in to comment.