From 53142852745ddd5668d11801a179b03e343554c4 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Tue, 9 Feb 2016 20:25:53 -0500 Subject: check in sketch code so raydeo can look at it --- pyramid/view.py | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) 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 -- cgit v1.2.3