[issue12752] locale.normalize does not take unicode strings
Barry A. Warsaw
report at bugs.python.org
Mon Aug 15 22:47:48 CEST 2011
Barry A. Warsaw <barry at python.org> added the comment:
For example:
diff -r fb49394f75ed Lib/locale.py
--- a/Lib/locale.py Mon Aug 15 14:24:15 2011 +0300
+++ b/Lib/locale.py Mon Aug 15 16:47:23 2011 -0400
@@ -355,6 +355,8 @@
"""
# 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 -r fb49394f75ed Lib/test/test_locale.py
--- a/Lib/test/test_locale.py Mon Aug 15 14:24:15 2011 +0300
+++ b/Lib/test/test_locale.py Mon Aug 15 16:47:23 2011 -0400
@@ -412,6 +412,11 @@
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 = [
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue12752>
_______________________________________
More information about the Python-bugs-list
mailing list