make blinkster use wsgi
authorymh <ymh.work@gmail.com>
Fri, 04 Mar 2011 16:45:15 +0100
changeset 56 c856e4b25963
parent 55 8418c9c54453
child 57 1984c3b5f299
make blinkster use wsgi
.settings/org.eclipse.core.resources.prefs
web/blinkster/.htaccess.tmpl
web/blinkster/modwsgi.wsgi
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/.settings/org.eclipse.core.resources.prefs	Fri Mar 04 16:45:15 2011 +0100
@@ -0,0 +1,4 @@
+#Mon May 24 02:24:53 CEST 2010
+eclipse.preferences.version=1
+encoding//web/blinkster/ldt/forms.py=utf-8
+encoding//web/blinkster/templates/segment_detail.html=UTF-8
--- a/web/blinkster/.htaccess.tmpl	Thu Oct 21 17:56:02 2010 +0200
+++ b/web/blinkster/.htaccess.tmpl	Fri Mar 04 16:45:15 2011 +0100
@@ -1,12 +1,18 @@
-SetHandler python-program
-PythonHandler handler
 SetEnv DJANGO_SETTINGS_MODULE blinkster.settings
 SetEnv PY_USE_XMLPLUS true
-PythonInterpreter blinkster
-PythonOption django.root /~ymh/blinkster/blinkster
-PythonOption virtualenv.activate_path /Users/ymh/dev/workspace/blinkster/sbin/bvenv/bin/activate_this.py
-PythonDebug on
-PythonPath "['/Users/ymh/dev/workspace/blinkster/sbin/bvenv/bin','/Users/ymh/Sites/blinkster', '/Users/ymh/Sites/blinkster/lib'] + sys.path"
+SetEnv PROJECT_PATH /Users/ymh/dev/workspace/blinkster/web
+SetEnv PYTHON_PATH /Users/ymh/dev/workspace/blinkster/sbin/bvenv/lib/python2.6/site-packages:/Users/ymh/dev/workspace/blinkster/sbin/bvenv/bin:/Users/ymh/dev/workspace/blinkster/web/lib
+Options ExecCGI FollowSymLinks
+SetHandler wsgi-script
+
+#if defined in global definition
+#defined with WSGIDaemonProcess 
+#WSGIProcessGroup platform
+
+RewriteEngine On
+RewriteCond %{REQUEST_FILENAME} !-f
+RewriteRule ^(.*)$ /~ymh/blinkster/blinkster/modwsgi.wsgi/$1 [QSA,PT,L]
+
 Header set Pragma "no-cache"
 Header set Cache-Control "no-cache"
 Header set Expires "-1"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/web/blinkster/modwsgi.wsgi	Fri Mar 04 16:45:15 2011 +0100
@@ -0,0 +1,26 @@
+import os, sys, site
+
+def application(environ, start_response):
+    os.environ['DJANGO_SETTINGS_MODULE'] = environ['DJANGO_SETTINGS_MODULE']
+    os.environ['PY_USE_XMLPLUS'] = environ['PY_USE_XMLPLUS']
+
+    prev_sys_path = list(sys.path)
+
+    sys.path.append(environ['PROJECT_PATH'])
+    for path in environ.get('PYTHON_PATH',"").split(os.pathsep):
+        if path:
+            site.addsitedir(path)
+
+    new_sys_path = [] 
+    for item in list(sys.path): 
+        if item not in prev_sys_path: 
+            new_sys_path.append(item) 
+            sys.path.remove(item)
+    sys.path[:0] = new_sys_path 
+
+    import django.core.handlers.wsgi
+
+    _application = django.core.handlers.wsgi.WSGIHandler()
+
+    return _application(environ, start_response)
+