diff options
Diffstat (limited to 'repoze')
| -rw-r--r-- | repoze/bfg/settings.py | 4 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_settings.py | 17 | ||||
| -rw-r--r-- | repoze/bfg/tests/test_traversal.py | 14 | ||||
| -rw-r--r-- | repoze/bfg/traversal.py | 22 |
4 files changed, 7 insertions, 50 deletions
diff --git a/repoze/bfg/settings.py b/repoze/bfg/settings.py index b4414bb34..795b5932a 100644 --- a/repoze/bfg/settings.py +++ b/repoze/bfg/settings.py @@ -33,14 +33,10 @@ def get_options(kw, environ=os.environ): config_reload_templates = kw.get('reload_templates', '') effective_reload_templates = asbool(eget('BFG_RELOAD_TEMPLATES', config_reload_templates)) - config_unicode_path_segments = kw.get('unicode_path_segments', 't') - effective_unicode_path_segments = asbool(eget('BFG_UNICODE_PATH_SEGMENTS', - config_unicode_path_segments)) update = { 'debug_authorization': effective_debug_all or effective_debug_auth, 'debug_notfound': effective_debug_all or effective_debug_notfound, 'reload_templates': effective_reload_templates, - 'unicode_path_segments': effective_unicode_path_segments, } kw.update(update) diff --git a/repoze/bfg/tests/test_settings.py b/repoze/bfg/tests/test_settings.py index 8c1fe2c39..97fe9d026 100644 --- a/repoze/bfg/tests/test_settings.py +++ b/repoze/bfg/tests/test_settings.py @@ -14,14 +14,12 @@ class TestSettings(unittest.TestCase): self.assertEqual(settings.reload_templates, False) self.assertEqual(settings.debug_notfound, False) self.assertEqual(settings.debug_authorization, False) - self.assertEqual(settings.unicode_path_segments, True) def test_with_option(self): settings = self._makeOne(reload_templates=True) self.assertEqual(settings.reload_templates, True) self.assertEqual(settings.debug_notfound, False) self.assertEqual(settings.debug_authorization, False) - self.assertEqual(settings.unicode_path_segments, True) class TestGetOptions(unittest.TestCase): def _callFUT(self, *arg, **kw): @@ -94,21 +92,6 @@ class TestGetOptions(unittest.TestCase): self.assertEqual(result['debug_notfound'], True) self.assertEqual(result['debug_authorization'], True) - def test_unicode_path_segments(self): - result = self._callFUT({}) - self.assertEqual(result['unicode_path_segments'], True) - result = self._callFUT({'unicode_path_segments':'false'}) - self.assertEqual(result['unicode_path_segments'], False) - result = self._callFUT({'unicode_path_segments':'t'}) - self.assertEqual(result['unicode_path_segments'], True) - result = self._callFUT({'unicode_path_segments':'1'}) - self.assertEqual(result['unicode_path_segments'], True) - result = self._callFUT({}, {'BFG_UNICODE_PATH_SEGMENTS':'1'}) - self.assertEqual(result['unicode_path_segments'], True) - result = self._callFUT({'unicode_path_segments':'false'}, - {'BFG_UNICODE_PATH_SEGMENTS':'1'}) - self.assertEqual(result['unicode_path_segments'], True) - def test_originals_kept(self): result = self._callFUT({'a':'i am so a'}) self.assertEqual(result['a'], 'i am so a') diff --git a/repoze/bfg/tests/test_traversal.py b/repoze/bfg/tests/test_traversal.py index 873291bb8..b1a94617e 100644 --- a/repoze/bfg/tests/test_traversal.py +++ b/repoze/bfg/tests/test_traversal.py @@ -184,20 +184,6 @@ class ModelGraphTraverserTests(unittest.TestCase): environ = self._getEnviron(PATH_INFO='/%s' % segment) self.assertRaises(TypeError, policy, environ) - def test_non_utf8_path_segment_str_path_segments_succeeds(self): - defaultkw = {'unicode_path_segments':False} - settings = DummySettings(**defaultkw) - from repoze.bfg.interfaces import ISettings - import zope.component - gsm = zope.component.getGlobalSiteManager() - gsm.registerUtility(settings, ISettings) - foo = DummyContext() - root = DummyContext(foo) - policy = self._makeOne(root) - segment = unicode('LaPe\xc3\xb1a', 'utf-8').encode('utf-16') - environ = self._getEnviron(PATH_INFO='/%s' % segment) - ctx, name, subpath = policy(environ) # test is: this doesn't fail - class RoutesModelTraverserTests(unittest.TestCase): def _getTargetClass(self): from repoze.bfg.traversal import RoutesModelTraverser diff --git a/repoze/bfg/traversal.py b/repoze/bfg/traversal.py index a6c86e491..c86e5b457 100644 --- a/repoze/bfg/traversal.py +++ b/repoze/bfg/traversal.py @@ -1,6 +1,5 @@ import urllib -from zope.component import queryUtility from zope.deferredimport import deprecated from zope.interface import classProvides @@ -14,7 +13,6 @@ from repoze.bfg.lru import lru_cache from repoze.bfg.interfaces import ILocation from repoze.bfg.interfaces import ITraverser from repoze.bfg.interfaces import ITraverserFactory -from repoze.bfg.interfaces import ISettings deprecated( "('from repoze.bfg.traversal import model_url' is now " @@ -119,13 +117,12 @@ def split_path(path): clean.append(segment) return clean -def step(ob, name, default, as_unicode=True): - if as_unicode: - try: - name = name.decode('utf-8') - except UnicodeDecodeError: - raise TypeError('Could not decode path segment "%s" using the ' - 'UTF-8 decoding scheme' % name) +def step(ob, name, default): + try: + name = name.decode('utf-8') + except UnicodeDecodeError: + raise TypeError('Could not decode path segment "%s" using the ' + 'UTF-8 decoding scheme' % name) if name.startswith('@@'): return name[2:], default if not hasattr(ob, '__getitem__'): @@ -140,16 +137,11 @@ _marker = object() class ModelGraphTraverser(object): classProvides(ITraverserFactory) implements(ITraverser) - unicode_path_segments = True def __init__(self, root): self.root = root self.locatable = ILocation.providedBy(root) - settings = queryUtility(ISettings) - if settings is not None: - self.unicode_path_segments = settings.unicode_path_segments def __call__(self, environ, _marker=_marker): - unicode_path_segments = self.unicode_path_segments path = environ.get('PATH_INFO', '/') path = list(split_path(path)) locatable = self.locatable @@ -160,7 +152,7 @@ class ModelGraphTraverser(object): while path: segment = path.pop(0) - segment, next = _step(ob, segment, _marker, unicode_path_segments) + segment, next = _step(ob, segment, _marker) if next is _marker: name = segment break |
