# HG changeset patch # User k0s # Date 1261949930 18000 # Node ID f70d8f3aee5168673795348f317676d38a251220 # Parent ee9ed5875df00b54005b9424b57a1a5852635e61 allow app argument to allow use as middleware OOTB diff -r ee9ed5875df0 -r f70d8f3aee51 setup.py --- a/setup.py Mon Nov 02 17:50:39 2009 -0500 +++ b/setup.py Sun Dec 27 16:38:50 2009 -0500 @@ -1,7 +1,7 @@ from setuptools import setup, find_packages import sys, os -version = '0.5' +version = '0.6' setup(name='webob_view', version=version, diff -r ee9ed5875df0 -r f70d8f3aee51 webob_view/template/+package+/dispatcher.py --- a/webob_view/template/+package+/dispatcher.py Mon Nov 02 17:50:39 2009 -0500 +++ b/webob_view/template/+package+/dispatcher.py Sun Dec 27 16:38:50 2009 -0500 @@ -8,12 +8,14 @@ class Dispatcher(object): ### class level variables - defaults = {} + defaults = { 'app': None} def __init__(self, **kw): for key in self.defaults: setattr(self, key, kw.get(key, self.defaults[key])) self.handlers = [ Get, Post ] + if self.app: + assert hasattr(self.app, '__call__') ### methods dealing with HTTP def __call__(self, environ, start_response): @@ -23,6 +25,8 @@ handler = h(request) break else: + if self.app: + return self.app(environ, start_response) handler = exc.HTTPNotFound res = handler() return res(environ, start_response)