diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-11-18 00:37:21 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-11-18 00:37:21 +0000 |
| commit | 57267a39be342ace47cccfcb481dcc407a48b0d7 (patch) | |
| tree | 2160f1a0d4f5614f410626b6a3a3b0c76a7547ac | |
| parent | 541e450d8098988209af3ecfd3829b242999039c (diff) | |
| download | pyramid-57267a39be342ace47cccfcb481dcc407a48b0d7.tar.gz pyramid-57267a39be342ace47cccfcb481dcc407a48b0d7.tar.bz2 pyramid-57267a39be342ace47cccfcb481dcc407a48b0d7.zip | |
- The ``repoze.bfg.registry.make_registry`` callable has been removed.
- The ``repoze.bfg.view.map_view`` callable has been removed.
- The ``repoze.bfg.view.owrap_view`` callable has been removed.
- The ``repoze.bfg.view.predicate_wrap`` callable has been removed.
- The ``repoze.bfg.view.secure_view`` callable has been removed.
- The ``repoze.bfg.view.authdebug_view`` callable has been removed.
- The ``repoze.bfg.view.renderer_from_name`` callable has been removed.
- Coverage.
| -rw-r--r-- | CHANGES.txt | 14 | ||||
| -rw-r--r-- | repoze/bfg/configuration.py | 5 | ||||
| -rw-r--r-- | repoze/bfg/router.py | 11 | ||||
| -rw-r--r-- | repoze/bfg/testing.py | 3 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_configuration.py | 22 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_registry.py | 29 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_urldispatch.py | 7 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_zcml.py | 68 | ||||
| -rw-r--r-- | repoze/bfg/view.py | 83 | ||||
| -rw-r--r-- | repoze/bfg/zcml.py | 1 |
10 files changed, 79 insertions, 164 deletions
diff --git a/CHANGES.txt b/CHANGES.txt index dfb9636fb..e4c4420e9 100644 --- a/CHANGES.txt +++ b/CHANGES.txt @@ -4,7 +4,19 @@ Next release Internals --------- -The ``repoze.bfg.registry.make_registry`` callable has been removed. +- The ``repoze.bfg.registry.make_registry`` callable has been removed. + +- The ``repoze.bfg.view.map_view`` callable has been removed. + +- The ``repoze.bfg.view.owrap_view`` callable has been removed. + +- The ``repoze.bfg.view.predicate_wrap`` callable has been removed. + +- The ``repoze.bfg.view.secure_view`` callable has been removed. + +- The ``repoze.bfg.view.authdebug_view`` callable has been removed. + +- The ``repoze.bfg.view.renderer_from_name`` callable has been removed. Backwards Incompatibilites -------------------------- diff --git a/repoze/bfg/configuration.py b/repoze/bfg/configuration.py index 6b6aa6b86..bd1df14fd 100644 --- a/repoze/bfg/configuration.py +++ b/repoze/bfg/configuration.py @@ -62,7 +62,6 @@ from repoze.bfg.view import static as static_view import martian - def zcml_configure(name, package): """ Given a ZCML filename as ``name`` and a Python package as ``package`` which the filename should be relative to, load the @@ -136,12 +135,10 @@ class Configurator(object): zope.component.getGlobalSiteManager = get_current_registry zcml_configure(filename, package) finally: - # intentional: do not call getSiteManager.reset(); executing - # this function means we're taking over getSiteManager for the - # lifetime of this process zope.component.getGlobalSiteManager = getGlobalSiteManager lock.release() manager.pop() + getSiteManager.reset() def view(self, permission=None, for_=None, view=None, name="", request_type=None, route_name=None, request_method=None, diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py index e815d7ab6..b317c9b35 100644 --- a/repoze/bfg/router.py +++ b/repoze/bfg/router.py @@ -4,6 +4,8 @@ from zope.interface import implements from zope.interface import providedBy from zope.interface import alsoProvides +from zope.component import getSiteManager + from repoze.bfg.interfaces import IForbiddenView from repoze.bfg.interfaces import ILogger from repoze.bfg.interfaces import INotFoundView @@ -26,6 +28,7 @@ from repoze.bfg.exceptions import NotFound from repoze.bfg.registry import Registry from repoze.bfg.request import Request from repoze.bfg.threadlocal import manager +from repoze.bfg.threadlocal import get_current_registry from repoze.bfg.traversal import ModelGraphTraverser from repoze.bfg.view import default_forbidden_view from repoze.bfg.view import default_notfound_view @@ -40,6 +43,9 @@ class Router(object): threadlocal_manager = manager def __init__(self, registry): + # executing sethook means we're taking over getSiteManager for + # the lifetime of this process + getSiteManager.sethook(get_current_registry) q = registry.queryUtility self.logger = q(ILogger, 'repoze.bfg.debug') self.notfound_view = q(INotFoundView, default=default_notfound_view) @@ -79,7 +85,7 @@ class Router(object): if self.routes_mapper is not None: info = self.routes_mapper(request) match, route = info['match'], info['route'] - if match is not None: + if route is not None: environ['wsgiorg.routing_args'] = ((), match) environ['bfg.routes.route'] = route environ['bfg.routes.matchdict'] = match @@ -137,7 +143,6 @@ class Router(object): # response handling has_listeners and registry.notify(NewResponse(response)) - try: headers = response.headerlist app_iter = response.app_iter @@ -198,7 +203,7 @@ def make_app(root_factory, package=None, filename='configure.zcml', ``settings`` keyword parameter. """ settings = settings or options - registry = Registry() + registry = Registry('make_app') config = Configurator(registry) config.default_configuration(root_factory, package=package, filename=filename, settings=settings) diff --git a/repoze/bfg/testing.py b/repoze/bfg/testing.py index f3af05f22..af659aca6 100644 --- a/repoze/bfg/testing.py +++ b/repoze/bfg/testing.py @@ -11,6 +11,7 @@ from repoze.bfg.interfaces import IRequest from repoze.bfg.configuration import zcml_configure # API import alias from repoze.bfg.registry import Registry from repoze.bfg.threadlocal import manager +from repoze.bfg.threadlocal import get_current_registry _marker = object() @@ -535,9 +536,9 @@ def setUp(): .. note:: This feature is new as of :mod:`repoze.bfg` 1.1. """ registry = Registry('testing') - getSiteManager.sethook(lambda *arg: registry) manager.clear() manager.push({'registry':registry, 'request':None}) + getSiteManager.sethook(get_current_registry) _clearContext() def tearDown(): diff --git a/repoze/bfg/tests/test_configuration.py b/repoze/bfg/tests/test_configuration.py index d7f707f87..5449e0933 100644 --- a/repoze/bfg/tests/test_configuration.py +++ b/repoze/bfg/tests/test_configuration.py @@ -2,20 +2,6 @@ import unittest from repoze.bfg.testing import cleanUp -class MakeRegistryTests(unittest.TestCase): - def setUp(self): - cleanUp() - - def tearDown(self): - cleanUp() - - def _makeOne(self): - from repoze.bfg.registry import Registry - from repoze.bfg.configuration import Configurator - reg = Registry() - config = Configurator(reg) - - class ConfiguratorTests(unittest.TestCase): def _makeOne(self, registry=None): from repoze.bfg.registry import Registry @@ -619,14 +605,6 @@ class DummyRootFactory: def __init__(self, root): self.root = root -class DummyLogger: - def __init__(self): - self.messages = [] - def info(self, msg): - self.messages.append(msg) - warn = info - debug = info - class DummyContext: pass diff --git a/repoze/bfg/tests/test_registry.py b/repoze/bfg/tests/test_registry.py index b652d2155..a88e0cb67 100644 --- a/repoze/bfg/tests/test_registry.py +++ b/repoze/bfg/tests/test_registry.py @@ -1,5 +1,4 @@ import unittest -from repoze.bfg.testing import cleanUp class TestRegistry(unittest.TestCase): def _getTargetClass(self): @@ -44,31 +43,3 @@ class DummyModule: __file__ = '' -class DummyContext: - def __init__(self, resolved=DummyModule): - self.actions = [] - self.info = None - self.resolved = resolved - -class DummyRequest: - def __init__(self, environ=None): - if environ is None: - environ = {} - self.environ = environ - - def get_response(self, application): - return application - - def copy(self): - self.copied = True - return self - -class DummyResponse: - status = '200 OK' - headerlist = () - def __init__(self, body=None): - if body is None: - self.app_iter = () - else: - self.app_iter = [body] - diff --git a/repoze/bfg/tests/test_urldispatch.py b/repoze/bfg/tests/test_urldispatch.py index 18ebe3e98..7ed686915 100644 --- a/repoze/bfg/tests/test_urldispatch.py +++ b/repoze/bfg/tests/test_urldispatch.py @@ -231,13 +231,6 @@ class TestCompileRouteMatchFunctional(unittest.TestCase): '/a/La%20Pe%C3%B1a') self.generates('/foo/:id.html', {'id':'bar'}, '/foo/bar.html') -class DummyRootFactory(object): - def __init__(self, result): - self.result = result - def __call__(self, request): - self.request = request - return self.result - class DummyContext(object): """ """ diff --git a/repoze/bfg/tests/test_zcml.py b/repoze/bfg/tests/test_zcml.py index af2b64de6..7caf2a596 100644 --- a/repoze/bfg/tests/test_zcml.py +++ b/repoze/bfg/tests/test_zcml.py @@ -4,14 +4,14 @@ logging.basicConfig() import unittest -from repoze.bfg.testing import cleanUp +from repoze.bfg import testing class TestViewDirective(unittest.TestCase): def setUp(self): - cleanUp() + testing.setUp() def tearDown(self): - cleanUp() + testing.tearDown() def _callFUT(self, *arg, **kw): from repoze.bfg.zcml import view @@ -1237,11 +1237,11 @@ class TestViewDirective(unittest.TestCase): class TestNotFoundDirective(unittest.TestCase): def setUp(self): - cleanUp() + testing.setUp() def tearDown(self): - cleanUp() - + testing.tearDown() + def _callFUT(self, context, view): from repoze.bfg.zcml import notfound return notfound(context, view) @@ -1268,11 +1268,11 @@ class TestNotFoundDirective(unittest.TestCase): class TestForbiddenDirective(unittest.TestCase): def setUp(self): - cleanUp() + testing.setUp() def tearDown(self): - cleanUp() - + testing.tearDown() + def _callFUT(self, context, view): from repoze.bfg.zcml import forbidden return forbidden(context, view) @@ -1299,11 +1299,11 @@ class TestForbiddenDirective(unittest.TestCase): class TestViewUtility(unittest.TestCase): def setUp(self): - cleanUp() + testing.setUp() def tearDown(self): - cleanUp() - + testing.tearDown() + def _callFUT(self, context, view, attr, renderer, wrapper, iface): from repoze.bfg.zcml import view_utility return view_utility(context, view, attr, renderer, wrapper, iface) @@ -1360,11 +1360,11 @@ class TestViewUtility(unittest.TestCase): class TestRepozeWho1AuthenticationPolicyDirective(unittest.TestCase): def setUp(self): - cleanUp() + testing.setUp() def tearDown(self): - cleanUp() - + testing.tearDown() + def _callFUT(self, context, **kw): from repoze.bfg.zcml import repozewho1authenticationpolicy return repozewho1authenticationpolicy(context, **kw) @@ -1403,11 +1403,11 @@ class TestRepozeWho1AuthenticationPolicyDirective(unittest.TestCase): class TestRemoteUserAuthenticationPolicyDirective(unittest.TestCase): def setUp(self): - cleanUp() + testing.setUp() def tearDown(self): - cleanUp() - + testing.tearDown() + def _callFUT(self, context, **kw): from repoze.bfg.zcml import remoteuserauthenticationpolicy return remoteuserauthenticationpolicy(context, **kw) @@ -1449,11 +1449,11 @@ class TestRemoteUserAuthenticationPolicyDirective(unittest.TestCase): class TestAuthTktAuthenticationPolicyDirective(unittest.TestCase): def setUp(self): - cleanUp() + testing.setUp() def tearDown(self): - cleanUp() - + testing.tearDown() + def _callFUT(self, context, secret, **kw): from repoze.bfg.zcml import authtktauthenticationpolicy return authtktauthenticationpolicy(context, secret, **kw) @@ -1507,11 +1507,11 @@ class TestAuthTktAuthenticationPolicyDirective(unittest.TestCase): class TestACLAuthorizationPolicyDirective(unittest.TestCase): def setUp(self): - cleanUp() + testing.setUp() def tearDown(self): - cleanUp() - + testing.tearDown() + def _callFUT(self, context, **kw): from repoze.bfg.zcml import aclauthorizationpolicy return aclauthorizationpolicy(context, **kw) @@ -1535,10 +1535,10 @@ class TestACLAuthorizationPolicyDirective(unittest.TestCase): class TestRouteDirective(unittest.TestCase): def setUp(self): - cleanUp() + testing.setUp() def tearDown(self): - cleanUp() + testing.tearDown() def _callFUT(self, *arg, **kw): from repoze.bfg.zcml import route @@ -2424,10 +2424,10 @@ class TestRouteDirective(unittest.TestCase): class TestStaticDirective(unittest.TestCase): def setUp(self): - cleanUp() + testing.setUp() def tearDown(self): - cleanUp() + testing.tearDown() def _callFUT(self, *arg, **kw): from repoze.bfg.zcml import static @@ -2553,10 +2553,10 @@ class TestStaticDirective(unittest.TestCase): class TestResourceDirective(unittest.TestCase): def setUp(self): - cleanUp() + testing.setUp() def tearDown(self): - cleanUp() + testing.tearDown() def _callFUT(self, *arg, **kw): from repoze.bfg.zcml import resource @@ -2656,7 +2656,7 @@ class TestZCMLConfigure(unittest.TestCase): return zcml_configure(path, package) def setUp(self): - cleanUp() + testing.setUp() self.tempdir = None import sys import os @@ -2675,7 +2675,7 @@ class TestZCMLConfigure(unittest.TestCase): self.tempdir = tempdir def tearDown(self): - cleanUp() + testing.tearDown() import sys import shutil if self.module is not None: @@ -2697,10 +2697,10 @@ class TestZCMLConfigure(unittest.TestCase): class TestZCMLScanDirective(unittest.TestCase): def setUp(self): - cleanUp() + testing.setUp() def tearDown(self): - cleanUp() + testing.tearDown() def _callFUT(self, context, package, martian): from repoze.bfg.zcml import scan diff --git a/repoze/bfg/view.py b/repoze/bfg/view.py index 47f752274..9406d5852 100644 --- a/repoze/bfg/view.py +++ b/repoze/bfg/view.py @@ -513,42 +513,6 @@ def derive_view(original_view, permission=None, predicates=(), attr=None, wrapper_viewname=wrapper_viewname, viewname=viewname) -def renderer_from_name(self, path): - reg = getSiteManager() - from repoze.bfg.configuration import Configurator - config = Configurator(reg) - return config.renderer_from_name(path) - -def map_view(view, attr=None, renderer_name=None): - reg = getSiteManager() - from repoze.bfg.configuration import Configurator - config = Configurator(reg) - return reg.map_view(view, attr=attr, renderer_name=renderer_name) - -def owrap_view(view, viewname, wrapper_viewname): - reg = getSiteManager() - from repoze.bfg.configuration import Configurator - config = Configurator(reg) - return config.owrap_view(view, viewname, wrapper_viewname) - -def predicate_wrap(view, predicates): - reg = getSiteManager() - from repoze.bfg.configuration import Configurator - config = Configurator(reg) - return reg.predicate_wrap(view, predicates) - -def secure_view(view, permission): - reg = getSiteManager() - from repoze.bfg.configuration import Configurator - config = Configurator(reg) - return config.secure_view(view, permission) - -def authdebug_view(self, view, permission): - reg = getSiteManager() - from repoze.bfg.configuration import Configurator - config = Configurator(reg) - return config.authdebug_view(view, permission) - def requestonly(class_or_callable, attr=None): """ Return true of the class or callable accepts only a request argument, as opposed to something that accepts context, request """ @@ -631,28 +595,27 @@ class MultiView(object): raise NotFound(self.name) def decorate_view(wrapped_view, original_view): - if wrapped_view is not original_view: - wrapped_view.__module__ = original_view.__module__ - wrapped_view.__doc__ = original_view.__doc__ - try: - wrapped_view.__name__ = original_view.__name__ - except AttributeError: - wrapped_view.__name__ = repr(original_view) - try: - wrapped_view.__permitted__ = original_view.__permitted__ - except AttributeError: - pass - try: - wrapped_view.__call_permissive__ = \ - original_view.__call_permissive__ - except AttributeError: - pass - try: - wrapped_view.__predicated__ = original_view.__predicated__ - except AttributeError: - pass - return True - return False + if wrapped_view is original_view: + return False + wrapped_view.__module__ = original_view.__module__ + wrapped_view.__doc__ = original_view.__doc__ + try: + wrapped_view.__name__ = original_view.__name__ + except AttributeError: + wrapped_view.__name__ = repr(original_view) + try: + wrapped_view.__permitted__ = original_view.__permitted__ + except AttributeError: + pass + try: + wrapped_view.__call_permissive__ = original_view.__call_permissive__ + except AttributeError: + pass + try: + wrapped_view.__predicated__ = original_view.__predicated__ + except AttributeError: + pass + return True def rendered_response(renderer, response, view, context,request, renderer_name): @@ -681,7 +644,3 @@ def rendered_response(renderer, response, view, context,request, if cache_for is not None: response.cache_expires = cache_for return response - - - - diff --git a/repoze/bfg/zcml.py b/repoze/bfg/zcml.py index a3d136a09..cfe64aa3f 100644 --- a/repoze/bfg/zcml.py +++ b/repoze/bfg/zcml.py @@ -1,4 +1,3 @@ -from zope.component import getSiteManager from zope.component import queryUtility from zope.configuration.exceptions import ConfigurationError |
