web/ldtplatform/modwsgi.wsgi
author ymh <ymh.work@gmail.com>
Tue, 06 Nov 2012 17:01:10 +0100
changeset 903 ba43c842648c
parent 142 0b2f32965787
permissions -rw-r--r--
Correct default value of WEB_AUTH
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
6a2a816d4ba3 correct virtual env res + htaccess + mod wsgi
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
import os, sys, site
6a2a816d4ba3 correct virtual env res + htaccess + mod wsgi
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
6a2a816d4ba3 correct virtual env res + htaccess + mod wsgi
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
def application(environ, start_response):
90
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
     4
    
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
     5
    global g_env_set
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
     6
    
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
     7
    if 'g_env_set' not in globals() or not g_env_set:
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
     8
        os.environ['DJANGO_SETTINGS_MODULE'] = environ['DJANGO_SETTINGS_MODULE']
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
     9
    
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    10
        prev_sys_path = list(sys.path)
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    11
    
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    12
        sys.path.append(environ['PROJECT_PATH'])
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    13
        for path in environ.get('PYTHON_PATH',"").split(os.pathsep):
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    14
            if path:
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    15
                site.addsitedir(path)
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    16
    
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    17
        new_sys_path = [] 
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    18
        for item in list(sys.path): 
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    19
            if item not in prev_sys_path and item not in new_sys_path: 
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    20
                new_sys_path.append(item) 
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    21
                sys.path.remove(item)
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    22
        sys.path[:0] = new_sys_path
4ddb88f103ad improve indexation, limit tags to 50 characters, improve wsgi
ymh <ymh.work@gmail.com>
parents: 2
diff changeset
    23
        g_env_set = True 
1
6a2a816d4ba3 correct virtual env res + htaccess + mod wsgi
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
6a2a816d4ba3 correct virtual env res + htaccess + mod wsgi
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
    import django.core.handlers.wsgi
6a2a816d4ba3 correct virtual env res + htaccess + mod wsgi
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
6a2a816d4ba3 correct virtual env res + htaccess + mod wsgi
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    _application = django.core.handlers.wsgi.WSGIHandler()
142
0b2f32965787 small corrections
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    28
    
0b2f32965787 small corrections
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    29
    if environ.get('PYDEV_DEBUG', "False").lower() in ["true", "1", "t"]:
0b2f32965787 small corrections
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    30
        import pydevd #@UnresolvedImport
0b2f32965787 small corrections
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    31
        pydevd.settrace(suspend=False)
0b2f32965787 small corrections
ymh <ymh.work@gmail.com>
parents: 90
diff changeset
    32
1
6a2a816d4ba3 correct virtual env res + htaccess + mod wsgi
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
6a2a816d4ba3 correct virtual env res + htaccess + mod wsgi
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
    return _application(environ, start_response)
6a2a816d4ba3 correct virtual env res + htaccess + mod wsgi
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35