diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-11-19 15:52:01 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-11-19 15:52:01 +0000 |
| commit | a664df6400b3721a40f665d04b751e7a50b42ebc (patch) | |
| tree | 677ffa2a1fda88b0de941359ebcc87d6484fe7cf /repoze/bfg/zcml.py | |
| parent | 052c9028fdd7bf3951181fad18cb1cc48de77a74 (diff) | |
| download | pyramid-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.py | 45 |
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): """ |
