web/ldt/core/handlers/modwsgi.py
author ymh <ymh.work@gmail.com>
Tue, 26 Oct 2010 14:29:57 +0200
changeset 5 5044dbe8745f
parent 1 eb9188f2ee4f
permissions -rw-r--r--
correct problem when creating content
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     1
import os, sys, site
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     2
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     3
def application(environ, start_response):
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     4
    os.environ['DJANGO_SETTINGS_MODULE'] = environ['DJANGO_SETTINGS_MODULE']
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     5
    os.environ['PY_USE_XMLPLUS'] = environ['PY_USE_XMLPLUS']
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     6
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     7
    prev_sys_path = list(sys.path)
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     8
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
     9
    sys.path.append(environ['PROJECT_PATH'])
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    10
    site.addsitedir(environ['PYTHON_PATH'])
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    11
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    12
    new_sys_path = [] 
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    13
    for item in list(sys.path): 
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    14
        if item not in prev_sys_path: 
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    15
            new_sys_path.append(item) 
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    16
            sys.path.remove(item) 
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    17
    sys.path[:0] = new_sys_path 
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    18
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    19
    import django.core.handlers.wsgi
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    20
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    21
    _application = django.core.handlers.wsgi.WSGIHandler()
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    22
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    23
    return _application(environ, start_response)
eb9188f2ee4f first commit
wakimd
parents:
diff changeset
    24