summaryrefslogtreecommitdiff
path: root/paste/webkit
diff options
context:
space:
mode:
authorianb <devnull@localhost>2005-05-16 03:49:12 +0000
committerianb <devnull@localhost>2005-05-16 03:49:12 +0000
commitc552be340632df607536f4db4507d059f46ddcf4 (patch)
treefcdb694457cbb5a24952b5dea3f45d86588dc5fa /paste/webkit
parente8c47309821205d08c4e552169ed80ff782c7411 (diff)
downloadpaste-c552be340632df607536f4db4507d059f46ddcf4.tar.gz
Added framework plugins
Diffstat (limited to 'paste/webkit')
-rw-r--r--paste/webkit/conf_setup.py43
1 files changed, 43 insertions, 0 deletions
diff --git a/paste/webkit/conf_setup.py b/paste/webkit/conf_setup.py
new file mode 100644
index 0000000..1599997
--- /dev/null
+++ b/paste/webkit/conf_setup.py
@@ -0,0 +1,43 @@
+import sys
+import os
+from paste import urlparser
+from paste import session
+from paste import recursive
+from paste import httpexceptions
+from paste import lint
+from paste import error_middleware
+
+def build_application(conf):
+ if not 'publish_dir' in conf:
+ print 'You must provide a publish_dir configuration value'
+ sys.exit(2)
+ directory = conf['publish_dir']
+ install_fake_webware = conf.get('install_fake_webware', True)
+ use_lint = conf.get('lint', False)
+ if install_fake_webware:
+ _install_fake_webware()
+ app = urlparser.URLParser(directory, os.path.basename(directory))
+ if use_lint:
+ app = lint.middleware(app)
+ app = httpexceptions.middleware(app)
+ if use_lint:
+ app = lint.middleware(app)
+ print session
+ app = session.SessionMiddleware(app)
+ if use_lint:
+ app = lint.middleware(app)
+ app = recursive.RecursiveMiddleware(app)
+ if use_lint:
+ app = lint.middleware(app)
+ app = error_middleware.ErrorMiddleware(app)
+ # I'll skip the use of lint on recursive, because it doesn't modify
+ # its output much at all
+ return app
+
+def install_fake_webware():
+ fake_webware_dir = os.path.join(os.path.dirname(__file__),
+ 'FakeWebware')
+ if fake_webware_dir in sys.path:
+ return
+ sys.path.insert(0, fake_webware_dir)
+_install_fake_webware = install_fake_webware