summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2011-07-23 16:04:29 -0400
committerChris McDonough <chrism@plope.com>2011-07-23 16:04:29 -0400
commit5191e63deb8d3408eb5138aa00e5f9ef4e5e8e22 (patch)
treebc89312916435a016cf8436e57a16cac0d50c776
parent3835781dab5791282073252d2cee685668bc7b1e (diff)
downloadpyramid-5191e63deb8d3408eb5138aa00e5f9ef4e5e8e22.tar.gz
pyramid-5191e63deb8d3408eb5138aa00e5f9ef4e5e8e22.tar.bz2
pyramid-5191e63deb8d3408eb5138aa00e5f9ef4e5e8e22.zip
dont wrap a view callable if it's None
-rw-r--r--pyramid/request.py4
-rw-r--r--pyramid/router.py13
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)