summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@plope.com>2016-02-09 20:25:53 -0500
committerChris McDonough <chrism@plope.com>2016-02-09 20:25:53 -0500
commit53142852745ddd5668d11801a179b03e343554c4 (patch)
tree610cc3618a65b3938f1f3395e44c7f3bc21dac5e
parentdf7a123a847e2243f38688c033f06200382ba139 (diff)
downloadpyramid-53142852745ddd5668d11801a179b03e343554c4.tar.gz
pyramid-53142852745ddd5668d11801a179b03e343554c4.tar.bz2
pyramid-53142852745ddd5668d11801a179b03e343554c4.zip
check in sketch code so raydeo can look at it
-rw-r--r--pyramid/view.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/pyramid/view.py b/pyramid/view.py
index 7e8996ca4..cedcfaef1 100644
--- a/pyramid/view.py
+++ b/pyramid/view.py
@@ -10,6 +10,7 @@ from pyramid.interfaces import (
IView,
IViewClassifier,
IRequest,
+ IExceptionViewClassifier,
)
from pyramid.compat import decode_path_info
@@ -547,3 +548,32 @@ def _call_view(
raise pme
return response
+
+class ViewMethodsMixin(object):
+ """ Request methods mixin for BaseRequest having to do with executing
+ views """
+ def invoke_exception_view(
+ self,
+ exc,
+ request=None,
+ secure=True
+ ):
+ if request is None:
+ request = self
+ registry = getattr(request, 'registry', None)
+ if registry is None:
+ registry = get_current_registry()
+ context_iface = providedBy(exc)
+ view_name = getattr(request, 'view_name', '')
+ response = _call_view(
+ registry,
+ request,
+ exc,
+ context_iface,
+ view_name,
+ view_types=None,
+ view_classifier=IExceptionViewClassifier,
+ secure=secure,
+ request_iface=None,
+ )
+ return response