mirror of
https://github.com/python/cpython.git
synced 2026-01-06 23:42:34 +00:00
Issue #17049: Localized calendar methods now return unicode if a locale
includes an encoding and the result string contains month or weekday (was regression from Python 2.6).
This commit is contained in:
parent
0be506a5ba
commit
8d510cd6e1
3 changed files with 20 additions and 3 deletions
|
|
@ -492,6 +492,7 @@ def __init__(self, locale):
|
|||
def __enter__(self):
|
||||
self.oldlocale = _locale.getlocale(_locale.LC_TIME)
|
||||
_locale.setlocale(_locale.LC_TIME, self.locale)
|
||||
return _locale.getlocale(_locale.LC_TIME)[1]
|
||||
|
||||
def __exit__(self, *args):
|
||||
_locale.setlocale(_locale.LC_TIME, self.oldlocale)
|
||||
|
|
|
|||
|
|
@ -255,11 +255,23 @@ def test_localecalendars(self):
|
|||
# (it is still not thread-safe though)
|
||||
old_october = calendar.TextCalendar().formatmonthname(2010, 10, 10)
|
||||
try:
|
||||
calendar.LocaleTextCalendar(locale='').formatmonthname(2010, 10, 10)
|
||||
cal = calendar.LocaleTextCalendar(locale='')
|
||||
local_weekday = cal.formatweekday(1, 10)
|
||||
local_month = cal.formatmonthname(2010, 10, 10)
|
||||
except locale.Error:
|
||||
# cannot set the system default locale -- skip rest of test
|
||||
return
|
||||
calendar.LocaleHTMLCalendar(locale='').formatmonthname(2010, 10)
|
||||
raise unittest.SkipTest('cannot set the system default locale')
|
||||
# should be encodable
|
||||
local_weekday.encode('utf-8')
|
||||
local_month.encode('utf-8')
|
||||
self.assertEqual(len(local_weekday), 10)
|
||||
self.assertGreaterEqual(len(local_month), 10)
|
||||
cal = calendar.LocaleHTMLCalendar(locale='')
|
||||
local_weekday = cal.formatweekday(1)
|
||||
local_month = cal.formatmonthname(2010, 10)
|
||||
# should be encodable
|
||||
local_weekday.encode('utf-8')
|
||||
local_month.encode('utf-8')
|
||||
new_october = calendar.TextCalendar().formatmonthname(2010, 10, 10)
|
||||
self.assertEqual(old_october, new_october)
|
||||
|
||||
|
|
|
|||
|
|
@ -202,6 +202,10 @@ Core and Builtins
|
|||
Library
|
||||
-------
|
||||
|
||||
- Issue #17049: Localized calendar methods now return unicode if a locale
|
||||
includes an encoding and the result string contains month or weekday (was
|
||||
regression from Python 2.6).
|
||||
|
||||
- Issue #4844: ZipFile now raises BadZipfile when opens a ZIP file with an
|
||||
incomplete "End of Central Directory" record. Original patch by Guilherme
|
||||
Polo and Alan McIntyre.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue