summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-11-18 00:37:21 +0000
committerChris McDonough <chrism@agendaless.com>2009-11-18 00:37:21 +0000
commit57267a39be342ace47cccfcb481dcc407a48b0d7 (patch)
tree2160f1a0d4f5614f410626b6a3a3b0c76a7547ac
parent541e450d8098988209af3ecfd3829b242999039c (diff)
downloadpyramid-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.txt14
-rw-r--r--repoze/bfg/configuration.py5
-rw-r--r--repoze/bfg/router.py11
-rw-r--r--repoze/bfg/testing.py3
-rw-r--r--repoze/bfg/tests/test_configuration.py22
-rw-r--r--repoze/bfg/tests/test_registry.py29
-rw-r--r--repoze/bfg/tests/test_urldispatch.py7
-rw-r--r--repoze/bfg/tests/test_zcml.py68
-rw-r--r--repoze/bfg/view.py83
-rw-r--r--repoze/bfg/zcml.py1
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