summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-12-23 19:11:29 +0000
committerChris McDonough <chrism@agendaless.com>2008-12-23 19:11:29 +0000
commit3380eaebb63c1e6a416dc4a39818ec220019af94 (patch)
tree8acc504f570bfa513a267357e4a68cdc6aa7cf13
parentb0fd8d04db03d5d2d1098b3c7365221e790afcdc (diff)
downloadpyramid-3380eaebb63c1e6a416dc4a39818ec220019af94.tar.gz
pyramid-3380eaebb63c1e6a416dc4a39818ec220019af94.tar.bz2
pyramid-3380eaebb63c1e6a416dc4a39818ec220019af94.zip
- The BFG ``view`` ZCML directive no longer calls
``zope.component.interface.provideInterface`` for the ``for`` interface. We don't support ``provideInterface`` in BFG because it mutates the global registry.
-rw-r--r--CHANGES.txt5
-rw-r--r--repoze/bfg/tests/test_zcml.py30
-rw-r--r--repoze/bfg/zcml.py8
3 files changed, 13 insertions, 30 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index d04c0d2f1..41b520421 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -55,6 +55,11 @@ Next release
contains the "correct" copies of these ZCML files; the ones that
were removed were for backwards compatibility purposes.
+ - The BFG ``view`` ZCML directive no longer calls
+ ``zope.component.interface.provideInterface`` for the ``for``
+ interface. We don't support ``provideInterface`` in BFG because
+ it mutates the global registry.
+
Other
- The minimum requirement for ``chameleon.core`` is now 1.0b13. The
diff --git a/repoze/bfg/tests/test_zcml.py b/repoze/bfg/tests/test_zcml.py
index ec479f9a8..f98bd8d8d 100644
--- a/repoze/bfg/tests/test_zcml.py
+++ b/repoze/bfg/tests/test_zcml.py
@@ -32,17 +32,10 @@ class TestViewDirective(unittest.TestCase, PlacelessSetup):
from repoze.bfg.interfaces import IViewPermission
from repoze.bfg.security import ViewPermissionFactory
from repoze.bfg.zcml import handler
- from zope.component.interface import provideInterface
- self.assertEqual(len(actions), 3)
+ self.assertEqual(len(actions), 2)
- provide = actions[0]
- self.assertEqual(provide['discriminator'], None)
- self.assertEqual(provide['callable'], provideInterface)
- self.assertEqual(provide['args'][0], '')
- self.assertEqual(provide['args'][1], IFoo)
-
- permission = actions[1]
+ permission = actions[0]
permission_discriminator = ('permission', IFoo, '', IRequest,
IViewPermission)
self.assertEqual(permission['discriminator'], permission_discriminator)
@@ -55,7 +48,7 @@ class TestViewDirective(unittest.TestCase, PlacelessSetup):
self.assertEqual(permission['args'][4], '')
self.assertEqual(permission['args'][5], None)
- regadapt = actions[2]
+ regadapt = actions[1]
regadapt_discriminator = ('view', IFoo, '', IRequest, IView, True)
self.assertEqual(regadapt['discriminator'], regadapt_discriminator)
self.assertEqual(regadapt['callable'], handler)
@@ -79,17 +72,10 @@ class TestViewDirective(unittest.TestCase, PlacelessSetup):
from repoze.bfg.interfaces import IViewPermission
from repoze.bfg.security import ViewPermissionFactory
from repoze.bfg.zcml import handler
- from zope.component.interface import provideInterface
-
- self.assertEqual(len(actions), 3)
- provide = actions[0]
- self.assertEqual(provide['discriminator'], None)
- self.assertEqual(provide['callable'], provideInterface)
- self.assertEqual(provide['args'][0], '')
- self.assertEqual(provide['args'][1], IFoo)
+ self.assertEqual(len(actions), 2)
- permission = actions[1]
+ permission = actions[0]
permission_discriminator = ('permission', IFoo, '', IDummy,
IViewPermission)
self.assertEqual(permission['discriminator'], permission_discriminator)
@@ -102,7 +88,7 @@ class TestViewDirective(unittest.TestCase, PlacelessSetup):
self.assertEqual(permission['args'][4], '')
self.assertEqual(permission['args'][5], None)
- regadapt = actions[2]
+ regadapt = actions[1]
regadapt_discriminator = ('view', IFoo, '', IDummy, IView, True)
self.assertEqual(regadapt['discriminator'], regadapt_discriminator)
self.assertEqual(regadapt['callable'], handler)
@@ -126,9 +112,9 @@ class TestViewDirective(unittest.TestCase, PlacelessSetup):
from repoze.bfg.zcml import handler
from repoze.bfg.zcml import Uncacheable
- self.assertEqual(len(actions), 3)
+ self.assertEqual(len(actions), 2)
- regadapt = actions[2]
+ regadapt = actions[1]
regadapt_discriminator = ('view', IFoo, '', IDummy, IView, Uncacheable)
self.assertEqual(regadapt['discriminator'], regadapt_discriminator)
self.assertEqual(regadapt['callable'], handler)
diff --git a/repoze/bfg/zcml.py b/repoze/bfg/zcml.py
index fb31e107d..05b332baa 100644
--- a/repoze/bfg/zcml.py
+++ b/repoze/bfg/zcml.py
@@ -10,7 +10,6 @@ from zope.component import getSiteManager
from zope.component import adaptedBy
import zope.configuration.config
-from zope.component.interface import provideInterface
from zope.configuration.exceptions import ConfigurationError
from zope.configuration.fields import GlobalObject
@@ -45,13 +44,6 @@ def view(_context,
if not view:
raise ConfigurationError('"view" attribute was not specified')
- if for_ is not None:
- _context.action(
- discriminator = None,
- callable = provideInterface,
- args = ('', for_)
- )
-
# adapts() decorations may be used against either functions or
# class instances
if isinstance(view, types.FunctionType):