From 9d7eeaade0de81dc98e6443d135eff13e328ec47 Mon Sep 17 00:00:00 2001 From: Chris McDonough Date: Sat, 24 Sep 2011 19:14:15 -0400 Subject: fix on 2.7 --- pyramid/tests/test_config/test_assets.py | 6 +++--- pyramid/urldispatch.py | 5 ++++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/pyramid/tests/test_config/test_assets.py b/pyramid/tests/test_config/test_assets.py index 8d9ab5825..627eefba7 100644 --- a/pyramid/tests/test_config/test_assets.py +++ b/pyramid/tests/test_config/test_assets.py @@ -273,13 +273,13 @@ class TestOverrideProvider(unittest.TestCase): self.assertEqual(result, 'value') def test_get_resource_stream_override_returns_value(self): - from io import StringIO - overrides = DummyOverrides(StringIO('value')) + from io import BytesIO + overrides = DummyOverrides(BytesIO(b'value')) import pyramid.tests.test_config self._registerOverrides(overrides) provider = self._makeOne(pyramid.tests.test_config) with provider.get_resource_stream(None, 'test_assets.py') as stream: - self.assertEqual(stream.getvalue(), 'value') + self.assertEqual(stream.getvalue(), b'value') def test_get_resource_string_override_returns_value(self): overrides = DummyOverrides('value') diff --git a/pyramid/urldispatch.py b/pyramid/urldispatch.py index b11bcefcb..54b52336a 100644 --- a/pyramid/urldispatch.py +++ b/pyramid/urldispatch.py @@ -7,6 +7,7 @@ from pyramid.interfaces import IRoute from pyramid.compat import url_unquote_text from pyramid.compat import native_ from pyramid.compat import text_type +from pyramid.compat import string_types from pyramid.compat import is_nonstr_iter from pyramid.compat import url_quote from pyramid.exceptions import URLDecodeError @@ -157,11 +158,13 @@ def _compile_route(route): def generator(dict): newdict = {} for k, v in dict.items(): - if isinstance(v, text_type): + if v.__class__ is text_type: v = native_(v, 'utf-8') if k == star and is_nonstr_iter(v): v = '/'.join([quote_path_segment(x) for x in v]) elif k != star: + if v.__class__ not in string_types: + v = str(v) try: v = url_quote(v, safe='') except TypeError: -- cgit v1.2.3