From 470737a5f5a7d86b809b260b9dbc09f266d4b69c Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Wed, 16 Sep 2009 18:25:31 +0000 Subject: - The ``repoze.bfg.testing.registerDummyRenderer`` API has been deprecated in favor of ``repoze.bfg.testing.registerTemplateRenderer``. A deprecation warning is *not* issued at import time for the former name; it will exist "forever". - The ``repoze.bfg.templating.renderer_from_cache`` function has been moved to ``repoze.bfg.renderer.template_renderer_factory``. This was never an API, but code in the wild was spotted that used it. A deprecation warning is issued at import time for the former. - Better error message when a wrapper view returns None. --- repoze/bfg/zcml.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) (limited to 'repoze/bfg/zcml.py') diff --git a/repoze/bfg/zcml.py b/repoze/bfg/zcml.py index 94bb7371d..a9a6a95a0 100644 --- a/repoze/bfg/zcml.py +++ b/repoze/bfg/zcml.py @@ -182,7 +182,7 @@ def view( def register(): derived_view = derive_view(view, permission, predicates, attr, renderer, - wrapper) + wrapper, name) r_for_ = for_ r_request_type = request_type if r_for_ is None: @@ -252,15 +252,15 @@ def forbidden(_context, view): view_utility(_context, view, IForbiddenView) def derive_view(original_view, permission=None, predicates=(), attr=None, - renderer=None, wrapper_viewname=None): + renderer=None, wrapper_viewname=None, viewname=None): mapped_view = map_view(original_view, attr, renderer) - owrapped_view = owrap_view(mapped_view, wrapper_viewname) + owrapped_view = owrap_view(mapped_view, viewname, wrapper_viewname) secured_view = secure_view(owrapped_view, permission) debug_view = authdebug_view(secured_view, permission) derived_view = predicate_wrap(debug_view, predicates) return derived_view -def owrap_view(view, wrapper_viewname): +def owrap_view(view, viewname, wrapper_viewname): if not wrapper_viewname: return view def _owrapped_view(context, request): @@ -268,7 +268,13 @@ def owrap_view(view, wrapper_viewname): request.wrapped_response = response request.wrapped_body = response.body request.wrapped_view = view - return render_view_to_response(context, request, wrapper_viewname) + wrapped_response = render_view_to_response(context, request, + wrapper_viewname) + if wrapped_response is None: + raise ValueError( + 'No wrapper view named %r found when executing view named %r' % + (wrapper_viewname, viewname)) + return wrapped_response decorate_view(_owrapped_view, view) return _owrapped_view -- cgit v1.2.3