diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-09-22 03:33:53 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-09-22 03:33:53 +0000 |
| commit | c89bcbc3f040e2ab7770958abc01db1984bb958d (patch) | |
| tree | 4e419fada614f6f9e07b1d23e969641efdbabd91 | |
| parent | 79a9be83059422e430c1c3fc627be6ca41d6ccfa (diff) | |
| download | pyramid-c89bcbc3f040e2ab7770958abc01db1984bb958d.tar.gz pyramid-c89bcbc3f040e2ab7770958abc01db1984bb958d.tar.bz2 pyramid-c89bcbc3f040e2ab7770958abc01db1984bb958d.zip | |
__is_bfg_view__ -> __bfg_view_settings__
| -rw-r--r-- | repoze/bfg/tests/test_integration.py | 2 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_view.py | 24 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_zcml.py | 20 | ||||
| -rw-r--r-- | repoze/bfg/view.py | 17 | ||||
| -rw-r--r-- | repoze/bfg/zcml.py | 30 |
5 files changed, 35 insertions, 58 deletions
diff --git a/repoze/bfg/tests/test_integration.py b/repoze/bfg/tests/test_integration.py index fb5d22a2b..5e386a069 100644 --- a/repoze/bfg/tests/test_integration.py +++ b/repoze/bfg/tests/test_integration.py @@ -27,7 +27,7 @@ class WGSIAppPlusBFGViewTests(unittest.TestCase): def test_it(self): import types - self.assertEqual(wsgiapptest.__is_bfg_view__, True) + self.failUnless(wsgiapptest.__bfg_view_settings__) self.failUnless(type(wsgiapptest) is types.FunctionType) context = DummyContext() request = DummyRequest() diff --git a/repoze/bfg/tests/test_view.py b/repoze/bfg/tests/test_view.py index 42d14f83a..e741c32f5 100644 --- a/repoze/bfg/tests/test_view.py +++ b/repoze/bfg/tests/test_view.py @@ -376,10 +376,10 @@ class TestBFGViewDecorator(unittest.TestCase): """ docstring """ wrapped = decorator(foo) self.failUnless(wrapped is foo) - self.assertEqual(wrapped.__is_bfg_view__, True) - self.assertEqual(wrapped.__permission__, None) - self.assertEqual(wrapped.__for__, None) - self.assertEqual(wrapped.__request_type__, None) + settings = wrapped.__bfg_view_settings__ + self.assertEqual(settings['permission'], None) + self.assertEqual(settings['for_'], None) + self.assertEqual(settings['request_type'], None) def test_call_oldstyle_class(self): decorator = self._makeOne() @@ -387,10 +387,10 @@ class TestBFGViewDecorator(unittest.TestCase): """ docstring """ wrapped = decorator(foo) self.failUnless(wrapped is foo) - self.assertEqual(wrapped.__is_bfg_view__, True) - self.assertEqual(wrapped.__permission__, None) - self.assertEqual(wrapped.__for__, None) - self.assertEqual(wrapped.__request_type__, None) + settings = wrapped.__bfg_view_settings__ + self.assertEqual(settings['permission'], None) + self.assertEqual(settings['for_'], None) + self.assertEqual(settings['request_type'], None) def test_call_newstyle_class(self): decorator = self._makeOne() @@ -398,10 +398,10 @@ class TestBFGViewDecorator(unittest.TestCase): """ docstring """ wrapped = decorator(foo) self.failUnless(wrapped is foo) - self.assertEqual(wrapped.__is_bfg_view__, True) - self.assertEqual(wrapped.__permission__, None) - self.assertEqual(wrapped.__for__, None) - self.assertEqual(wrapped.__request_type__, None) + settings = wrapped.__bfg_view_settings__ + self.assertEqual(settings['permission'], None) + self.assertEqual(settings['for_'], None) + self.assertEqual(settings['request_type'], None) class TestDefaultForbiddenView(unittest.TestCase): def _callFUT(self, context, request): diff --git a/repoze/bfg/tests/test_zcml.py b/repoze/bfg/tests/test_zcml.py index 5be8b7fb2..d521250b5 100644 --- a/repoze/bfg/tests/test_zcml.py +++ b/repoze/bfg/tests/test_zcml.py @@ -1833,20 +1833,12 @@ class TestBFGViewGrokker(unittest.TestCase): pass def __call__(self): return 'OK' - obj.__is_bfg_view__ = True - obj.__permission__ = 'foo' - obj.__for__ = Interface - obj.__view_name__ = 'foo.html' - obj.__request_type__ = IRequest - obj.__route_name__ = None - obj.__request_method__ = None - obj.__request_param__ = None - obj.__containment__ = None - obj.__attr__ = None - obj.__template__ = None - obj.__wrapper_viewname__ = None - obj.__renderer__ = None - obj.__attr__ = None + settings = dict(permission='foo', for_=Interface, name='foo.html', + request_type=IRequest, route_name=None, + request_method=None, request_param=None, + containment=None, attr=None, renderer=None, + wrapper_viewname=None) + obj.__bfg_view_settings__ = settings context = DummyContext() result = grokker.grok('name', obj, context=context) self.assertEqual(result, True) diff --git a/repoze/bfg/view.py b/repoze/bfg/view.py index c710829ca..82ddd74fa 100644 --- a/repoze/bfg/view.py +++ b/repoze/bfg/view.py @@ -29,7 +29,6 @@ from repoze.bfg.interfaces import ILogger from repoze.bfg.interfaces import IMultiView from repoze.bfg.interfaces import IRendererFactory from repoze.bfg.interfaces import IResponseFactory -from repoze.bfg.interfaces import ITemplateRenderer from repoze.bfg.interfaces import IView from repoze.bfg.path import caller_package @@ -357,20 +356,8 @@ class bfg_view(object): self.wrapper_viewname = wrapper def __call__(self, wrapped): - _bfg_view = wrapped #map_view(wrapped, self.attr, self.renderer) - _bfg_view.__is_bfg_view__ = True - _bfg_view.__permission__ = self.permission - _bfg_view.__for__ = self.for_ - _bfg_view.__view_name__ = self.name - _bfg_view.__request_type__ = self.request_type - _bfg_view.__route_name__ = self.route_name - _bfg_view.__request_method__ = self.request_method - _bfg_view.__request_param__ = self.request_param - _bfg_view.__containment__ = self.containment - _bfg_view.__wrapper_viewname__ = self.wrapper_viewname - _bfg_view.__attr__ = self.attr - _bfg_view.__renderer__ = self.renderer - return _bfg_view + wrapped.__bfg_view_settings__ = self.__dict__.copy() + return wrapped def default_view(context, request, status): try: diff --git a/repoze/bfg/zcml.py b/repoze/bfg/zcml.py index 39c2f89cc..72b39fcb3 100644 --- a/repoze/bfg/zcml.py +++ b/repoze/bfg/zcml.py @@ -1,6 +1,4 @@ -import inspect import sys -import types from zope.configuration import xmlconfig import zope.configuration.config @@ -21,7 +19,6 @@ from zope.schema import Int from zope.schema import TextLine import martian -import martian.core from repoze.bfg.interfaces import IAuthenticationPolicy from repoze.bfg.interfaces import IAuthorizationPolicy @@ -607,25 +604,26 @@ class BFGViewMarker(object): class BFGMultiGrokker(martian.core.MultiInstanceOrClassGrokkerBase): def get_bases(self, obj): - if hasattr(obj, '__is_bfg_view__'): + if hasattr(obj, '__bfg_view_settings__'): return [BFGViewMarker] return [] class BFGViewGrokker(martian.InstanceGrokker): martian.component(BFGViewMarker) def grok(self, name, obj, **kw): - if hasattr(obj, '__is_bfg_view__'): - permission = obj.__permission__ - for_ = obj.__for__ - name = obj.__view_name__ - request_type = obj.__request_type__ - route_name = obj.__route_name__ - request_method = obj.__request_method__ - request_param = obj.__request_param__ - containment = obj.__containment__ - wrapper = obj.__wrapper_viewname__ - attr = obj.__attr__ - renderer = obj.__renderer__ + if hasattr(obj, '__bfg_view_settings__'): + settings = obj.__bfg_view_settings__ + permission = settings['permission'] + for_ = settings['for_'] + name = settings['name'] + request_type = settings['request_type'] + route_name = settings['route_name'] + request_method = settings['request_method'] + request_param = settings['request_param'] + containment = settings['containment'] + wrapper = settings['wrapper_viewname'] + attr = settings['attr'] + renderer = settings['renderer'] context = kw['context'] view(context, permission=permission, for_=for_, view=obj, name=name, request_type=request_type, |
