From 2cce431f02a37c119eacfc3dfa94af9fe3305de1 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Sun, 18 Oct 2009 02:27:43 +0000 Subject: - More than one ``@bfg_view`` decorator may now be stacked on top of any number of others. Each invocation of the decorator registers a single view. For instance, the following combination of decorators and a function will register two views:: from repoze.bfg.view import bfg_view @bfg_view(name='edit') @bfg_view(name='change') def edit(context, request): pass This makes it possible to associate more than one view configuration for a single callable without requiring ZCML. --- repoze/bfg/tests/grokkedapp/__init__.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'repoze/bfg/tests/grokkedapp/__init__.py') diff --git a/repoze/bfg/tests/grokkedapp/__init__.py b/repoze/bfg/tests/grokkedapp/__init__.py index f4a924292..5a00adbeb 100644 --- a/repoze/bfg/tests/grokkedapp/__init__.py +++ b/repoze/bfg/tests/grokkedapp/__init__.py @@ -7,6 +7,22 @@ def grokked(context, request): @bfg_view(request_method='POST') def grokked_post(context, request): return 'grokked_post' + +@bfg_view(name='stacked2') +@bfg_view(name='stacked1') +def stacked(context, request): + return 'stacked' + +class stacked_class(object): + def __init__(self, context, request): + self.context = context + self.request = request + + def __call__(self): + return 'stacked_class' + +stacked_class = bfg_view(name='stacked_class1')(stacked_class) +stacked_class = bfg_view(name='stacked_class2')(stacked_class) class oldstyle_grokked_class: def __init__(self, context, request): -- cgit v1.2.3