summaryrefslogtreecommitdiff
path: root/repoze/bfg/zcml.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-09-16 18:25:31 +0000
committerChris McDonough <chrism@agendaless.com>2009-09-16 18:25:31 +0000
commit470737a5f5a7d86b809b260b9dbc09f266d4b69c (patch)
treea3df44da970fe2e8db956b105acfc228f0319c9c /repoze/bfg/zcml.py
parent6eca545a5571618bd7498fa68571d8e0e21fecf1 (diff)
downloadpyramid-470737a5f5a7d86b809b260b9dbc09f266d4b69c.tar.gz
pyramid-470737a5f5a7d86b809b260b9dbc09f266d4b69c.tar.bz2
pyramid-470737a5f5a7d86b809b260b9dbc09f266d4b69c.zip
- 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.
Diffstat (limited to 'repoze/bfg/zcml.py')
-rw-r--r--repoze/bfg/zcml.py16
1 files changed, 11 insertions, 5 deletions
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