web/hdabo/modwsgi.wsgi
author ymh <ymh.work@gmail.com>
Thu, 16 Jun 2011 13:40:10 +0200
changeset 41 5106283de457
parent 23 7aad42e75285
child 83 1c4729b3dac1
permissions -rw-r--r--
Added tag V00.01 for changeset 0df07af6c467
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
22
62df01506d36 reformat code
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     1
import os
62df01506d36 reformat code
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     2
import sys
62df01506d36 reformat code
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     3
import site
62df01506d36 reformat code
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
     4
0
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
def application(environ, start_response):
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
    
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
    global g_env_set
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
    
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
    if 'g_env_set' not in globals() or not g_env_set:
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
        os.environ['DJANGO_SETTINGS_MODULE'] = environ['DJANGO_SETTINGS_MODULE']
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
    
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
        prev_sys_path = list(sys.path)
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
    
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
        sys.path.append(environ['PROJECT_PATH'])
22
62df01506d36 reformat code
ymh <ymh.work@gmail.com>
parents: 0
diff changeset
    16
        for path in environ.get('PYTHON_PATH', "").split(os.pathsep):
0
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
            if path:
23
7aad42e75285 reformat code
ymh <ymh.work@gmail.com>
parents: 22
diff changeset
    18
                site.addsitedir(path) #@UndefinedVariable
0
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
    
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
        new_sys_path = [] 
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
        for item in list(sys.path): 
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
            if item not in prev_sys_path and item not in new_sys_path: 
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
                new_sys_path.append(item) 
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
                sys.path.remove(item)
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
        sys.path[:0] = new_sys_path
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
        g_env_set = True 
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    import django.core.handlers.wsgi
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    _application = django.core.handlers.wsgi.WSGIHandler()
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    return _application(environ, start_response)
896db0083b76 first commit
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33