diff -r 57b4279d8c4e -r 03e267d67478 app/main.py --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/app/main.py Fri Jul 18 18:22:23 2008 +0000 @@ -0,0 +1,73 @@ +#!/usr/bin/python2.5 +# +# Copyright 2008 the Melange authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +__authors__ = [ + # alphabetical order by last name, please + '"Augie Fackler" ', + ] + + +import logging +import os +import sys + +from google.appengine.ext.webapp import util + + +# Remove the standard version of Django. +for k in [k for k in sys.modules if k.startswith('django')]: + del sys.modules[k] + +# Force sys.path to have our own directory first, in case we want to import +# from it. This lets us replace the built-in Django +sys.path.insert(0, os.path.abspath(os.path.dirname(__file__))) + +# Force Django to reload its settings. +from django.conf import settings +settings._target = None + +# Must set this env var before importing any part of Django +os.environ['DJANGO_SETTINGS_MODULE'] = 'settings' + +import django.core.handlers.wsgi +import django.core.signals +import django.db +import django.dispatch.dispatcher + + +# Log errors. +def log_exception(*args, **kwds): + logging.exception('Exception in request:') + +django.dispatch.dispatcher.connect( + log_exception, django.core.signals.got_request_exception) + +# Unregister the rollback event handler. +django.dispatch.dispatcher.disconnect( + django.db._rollback_on_exception, + django.core.signals.got_request_exception) + + +def main(): + # Create a Django application for WSGI. + application = django.core.handlers.wsgi.WSGIHandler() + + # Run the WSGI CGI handler with that application. + util.run_wsgi_app(application) + + +if __name__ == '__main__': + main()