diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-06-03 15:09:43 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-06-03 15:09:43 +0000 |
| commit | 77a668682d663b5a1f101e828354a9310bd04faa (patch) | |
| tree | 25af9f474320de8ab700a78e8be8f8c5138e3863 | |
| parent | 3b8d6d2f8a7e143334a2dba549249a312c4aa3c9 (diff) | |
| download | pyramid-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.txt | 11 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_urldispatch.py | 16 | ||||
| -rw-r--r-- | repoze/bfg/urldispatch.py | 12 |
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) |
