summaryrefslogtreecommitdiff
path: root/repoze/bfg/zcml.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-11-19 15:52:01 +0000
committerChris McDonough <chrism@agendaless.com>2009-11-19 15:52:01 +0000
commita664df6400b3721a40f665d04b751e7a50b42ebc (patch)
tree677ffa2a1fda88b0de941359ebcc87d6484fe7cf /repoze/bfg/zcml.py
parent052c9028fdd7bf3951181fad18cb1cc48de77a74 (diff)
downloadpyramid-a664df6400b3721a40f665d04b751e7a50b42ebc.tar.gz
pyramid-a664df6400b3721a40f665d04b751e7a50b42ebc.tar.bz2
pyramid-a664df6400b3721a40f665d04b751e7a50b42ebc.zip
Reword notfound and forbidden view handlers.
Diffstat (limited to 'repoze/bfg/zcml.py')
-rw-r--r--repoze/bfg/zcml.py45
1 files changed, 20 insertions, 25 deletions
diff --git a/repoze/bfg/zcml.py b/repoze/bfg/zcml.py
index eae53c337..6cbea96df 100644
--- a/repoze/bfg/zcml.py
+++ b/repoze/bfg/zcml.py
@@ -293,7 +293,6 @@ def route(_context, name, path, view=None, view_for=None,
view_path_info),
)
-
class ISystemViewDirective(Interface):
view = GlobalObject(
title=u"",
@@ -316,33 +315,29 @@ class ISystemViewDirective(Interface):
description = u'',
required=False)
-def notfound(_context, view=None, attr=None, renderer=None, wrapper=None):
- view_utility(_context, view, attr, renderer, wrapper, INotFoundView)
-
-def forbidden(_context, view=None, attr=None, renderer=None, wrapper=None):
- view_utility(_context, view, attr, renderer, wrapper, IForbiddenView)
+class SystemViewHandler(object):
+ def __init__(self, iface):
+ self.iface = iface
-def view_utility(_context, view, attr, renderer, wrapper, iface):
- if not view:
- if renderer:
- def view(context, request):
- return {}
- else:
- raise ConfigurationError('"view" attribute was not specified and '
- 'no renderer specified')
-
- if renderer and '.' in renderer:
- renderer = resource_spec(renderer, package_name(_context.resolve('.')))
+ def __call__(self, _context, view=None, attr=None, renderer=None,
+ wrapper=None):
+ if renderer and '.' in renderer:
+ renderer = resource_spec(
+ renderer, package_name(_context.resolve('.')))
- def register():
- reg = get_current_registry()
- config = Configurator(reg)
- config.view_utility(view, attr, renderer, wrapper, iface, _context.info)
+ def register(iface=self.iface):
+ reg = get_current_registry()
+ config = Configurator(reg)
+ config.system_view(iface, view=view, attr=attr, renderer=renderer,
+ wrapper=wrapper, _info=_context.info)
- _context.action(
- discriminator = iface,
- callable = register,
- )
+ _context.action(
+ discriminator = self.iface,
+ callable = register,
+ )
+
+notfound = SystemViewHandler(INotFoundView)
+forbidden = SystemViewHandler(IForbiddenView)
class IResourceDirective(Interface):
"""