summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-06-03 15:09:43 +0000
committerChris McDonough <chrism@agendaless.com>2009-06-03 15:09:43 +0000
commit77a668682d663b5a1f101e828354a9310bd04faa (patch)
tree25af9f474320de8ab700a78e8be8f8c5138e3863
parent3b8d6d2f8a7e143334a2dba549249a312c4aa3c9 (diff)
downloadpyramid-77a668682d663b5a1f101e828354a9310bd04faa.tar.gz
pyramid-77a668682d663b5a1f101e828354a9310bd04faa.tar.bz2
pyramid-77a668682d663b5a1f101e828354a9310bd04faa.zip
Revert urldispatch-context-as-dict-subclass committed in r5175. Let's not make that promise yet.
-rw-r--r--CHANGES.txt11
-rw-r--r--repoze/bfg/tests/test_urldispatch.py16
-rw-r--r--repoze/bfg/urldispatch.py12
3 files changed, 6 insertions, 33 deletions
diff --git a/CHANGES.txt b/CHANGES.txt
index 970078f68..37e1953af 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,14 +1,3 @@
-Next release
-============
-
-Features
---------
-
-- The default routes context
- (``repoze.bfg.urldispatch.DefaultRoutesContext``) object now
- subclasses from ``dict``. This means you can use the mapping
- protocol in views against it.
-
0.9.1 (2009-06-02)
==================
diff --git a/repoze/bfg/tests/test_urldispatch.py b/repoze/bfg/tests/test_urldispatch.py
index 3a1e4d497..2b4578f94 100644
--- a/repoze/bfg/tests/test_urldispatch.py
+++ b/repoze/bfg/tests/test_urldispatch.py
@@ -1,22 +1,6 @@
import unittest
from repoze.bfg.testing import cleanUp
-class TestDefaultRoutesContextFactory(unittest.TestCase):
- def _getTargetClass(self):
- from repoze.bfg.urldispatch import DefaultRoutesContext
- return DefaultRoutesContext
-
- def _makeOne(self, **kw):
- return self._getTargetClass()(kw)
-
- def test_getattr(self):
- inst = self._makeOne(a=1)
- self.assertEqual(inst.a, 1)
-
- def test_getattr_raises(self):
- inst = self._makeOne(a=1)
- self.assertRaises(AttributeError, inst.__getattr__, 'b')
-
class RoutesRootFactoryTests(unittest.TestCase):
def setUp(self):
cleanUp()
diff --git a/repoze/bfg/urldispatch.py b/repoze/bfg/urldispatch.py
index f108b965f..612843cfa 100644
--- a/repoze/bfg/urldispatch.py
+++ b/repoze/bfg/urldispatch.py
@@ -1,5 +1,7 @@
import re
+from zope.component import queryUtility
+
from zope.interface import implements
from zope.interface import alsoProvides
from zope.interface import classProvides
@@ -11,18 +13,16 @@ from routes import url_for
from repoze.bfg.interfaces import IContextNotFound
from repoze.bfg.interfaces import IContextURL
from repoze.bfg.interfaces import IRoutesContext
+from repoze.bfg.interfaces import IRoutesContextFactory
from repoze.bfg.interfaces import ITraverser
from repoze.bfg.interfaces import ITraverserFactory
_marker = ()
-class DefaultRoutesContext(dict):
+class DefaultRoutesContext(object):
implements(IRoutesContext)
- def __getattr__(self, name):
- try:
- return self[name]
- except KeyError:
- raise AttributeError(name)
+ def __init__(self, **kw):
+ self.__dict__.update(kw)
class RoutesContextNotFound(object):
implements(IContextNotFound)