diff options
| author | Chris McDonough <chrism@plope.com> | 2011-07-23 16:04:29 -0400 |
|---|---|---|
| committer | Chris McDonough <chrism@plope.com> | 2011-07-23 16:04:29 -0400 |
| commit | 5191e63deb8d3408eb5138aa00e5f9ef4e5e8e22 (patch) | |
| tree | bc89312916435a016cf8436e57a16cac0d50c776 | |
| parent | 3835781dab5791282073252d2cee685668bc7b1e (diff) | |
| download | pyramid-5191e63deb8d3408eb5138aa00e5f9ef4e5e8e22.tar.gz pyramid-5191e63deb8d3408eb5138aa00e5f9ef4e5e8e22.tar.bz2 pyramid-5191e63deb8d3408eb5138aa00e5f9ef4e5e8e22.zip | |
dont wrap a view callable if it's None
| -rw-r--r-- | pyramid/request.py | 4 | ||||
| -rw-r--r-- | pyramid/router.py | 13 |
2 files changed, 9 insertions, 8 deletions
diff --git a/pyramid/request.py b/pyramid/request.py index 605b4b061..31a6bb12d 100644 --- a/pyramid/request.py +++ b/pyramid/request.py @@ -221,9 +221,9 @@ class Request(BaseRequest, DeprecatedRequestMethods): wrappers.append(wrapper) self.view_wrappers = wrappers - def _wrap_view(self, view, is_exc_view=False): + def _wrap_view(self, view, exc=None): for wrapper in self.view_wrappers: - view = wrapper(view, is_exc_view) + view = wrapper(view, self, exc) return view def add_response_callback(self, callback): diff --git a/pyramid/router.py b/pyramid/router.py index b11ebc7eb..0294d8d75 100644 --- a/pyramid/router.py +++ b/pyramid/router.py @@ -141,11 +141,6 @@ class Router(object): (IViewClassifier, request_iface, context_iface), IView, name=view_name, default=None) - # if there were any view wrappers set on the current - # request, use them to wrap the view - if request.view_wrappers: - view_callable = request._wrap_view(view_callable) - # invoke the view callable if view_callable is None: if self.debug_notfound: @@ -163,6 +158,11 @@ class Router(object): msg = request.path_info raise HTTPNotFound(msg) else: + # if there were any view wrappers for the current + # request, use them to wrap the view + if request.view_wrappers: + view_callable = request._wrap_view(view_callable) + response = view_callable(context, request) # handle exceptions raised during root finding and view-exec @@ -184,7 +184,8 @@ class Router(object): raise if request.view_wrappers: - view_callable = request._wrap_view(view_callable, True) + view_callable = request._wrap_view(view_callable, + exc=why) response = view_callable(why, request) |
