From: Barry Warsaw Date: Mon, 15 Aug 2011 23:17:12 +0000 (-0400) Subject: The simplest possible fix for the regression in bug 12752 by encoding unicodes X-Git-Tag: v2.7.3rc1~514 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=edfba8244c6ec1a7aceeff69e304489478d9d7c7;p=python The simplest possible fix for the regression in bug 12752 by encoding unicodes to 8-bit strings. --- diff --git a/Lib/locale.py b/Lib/locale.py index 166538d270..0c4d6527e9 100644 --- a/Lib/locale.py +++ b/Lib/locale.py @@ -355,6 +355,8 @@ def normalize(localename): """ # Normalize the locale name and extract the encoding + if isinstance(localename, unicode): + localename = localename.encode('ascii') fullname = localename.translate(_ascii_lower_map) if ':' in fullname: # ':' is sometimes used as encoding delimiter. diff --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py index 718bbf40c7..a88d34b2c5 100644 --- a/Lib/test/test_locale.py +++ b/Lib/test/test_locale.py @@ -412,6 +412,11 @@ class TestMiscellaneous(unittest.TestCase): locale.setlocale(locale.LC_CTYPE, loc) self.assertEqual(loc, locale.getlocale()) + def test_normalize_issue12752(self): + # Issue #1813 caused a regression where locale.normalize() would no + # longer accept unicode strings. + self.assertEqual(locale.normalize(u'en_US'), 'en_US.ISO8859-1') + def test_main(): tests = [