[Python-checkins] cpython (2.7): The simplest possible fix for the regression in bug 12752 by encoding unicodes

barry.warsaw python-checkins at python.org
Tue Aug 16 01:51:00 CEST 2011


http://hg.python.org/cpython/rev/0d64fe6c737f
changeset: 71873:0d64fe6c737f
branch: 2.7
parent: 71871:fb49394f75ed
user: Barry Warsaw <barry at python.org>
date: Mon Aug 15 19:17:12 2011 -0400
summary:
 The simplest possible fix for the regression in bug 12752 by encoding unicodes
to 8-bit strings.
files:
 Lib/locale.py | 2 ++
 Lib/test/test_locale.py | 5 +++++
 2 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/Lib/locale.py b/Lib/locale.py
--- a/Lib/locale.py
+++ b/Lib/locale.py
@@ -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 --git a/Lib/test/test_locale.py b/Lib/test/test_locale.py
--- a/Lib/test/test_locale.py
+++ b/Lib/test/test_locale.py
@@ -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 = [
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /