Fix for #1427: Error in standard module calendar
merge -r58935:58936 ../trunk
This commit is contained in:
parent
c2e0e077fb
commit
d66350ad58
|
@ -6,7 +6,9 @@ Sunday as the last (the European convention). Use setfirstweekday() to
|
||||||
set the first day of the week (0=Monday, 6=Sunday)."""
|
set the first day of the week (0=Monday, 6=Sunday)."""
|
||||||
|
|
||||||
from __future__ import with_statement
|
from __future__ import with_statement
|
||||||
import sys, datetime, locale
|
import sys
|
||||||
|
import datetime
|
||||||
|
import locale as _locale
|
||||||
|
|
||||||
__all__ = ["IllegalMonthError", "IllegalWeekdayError", "setfirstweekday",
|
__all__ = ["IllegalMonthError", "IllegalWeekdayError", "setfirstweekday",
|
||||||
"firstweekday", "isleap", "leapdays", "weekday", "monthrange",
|
"firstweekday", "isleap", "leapdays", "weekday", "monthrange",
|
||||||
|
@ -485,11 +487,11 @@ class TimeEncoding:
|
||||||
self.locale = locale
|
self.locale = locale
|
||||||
|
|
||||||
def __enter__(self):
|
def __enter__(self):
|
||||||
self.oldlocale = locale.setlocale(locale.LC_TIME, self.locale)
|
self.oldlocale = _locale.setlocale(_locale.LC_TIME, self.locale)
|
||||||
return locale.getlocale(locale.LC_TIME)[1]
|
return _locale.getlocale(_locale.LC_TIME)[1]
|
||||||
|
|
||||||
def __exit__(self, *args):
|
def __exit__(self, *args):
|
||||||
locale.setlocale(locale.LC_TIME, self.oldlocale)
|
_locale.setlocale(_locale.LC_TIME, self.oldlocale)
|
||||||
|
|
||||||
|
|
||||||
class LocaleTextCalendar(TextCalendar):
|
class LocaleTextCalendar(TextCalendar):
|
||||||
|
@ -503,7 +505,7 @@ class LocaleTextCalendar(TextCalendar):
|
||||||
def __init__(self, firstweekday=0, locale=None):
|
def __init__(self, firstweekday=0, locale=None):
|
||||||
TextCalendar.__init__(self, firstweekday)
|
TextCalendar.__init__(self, firstweekday)
|
||||||
if locale is None:
|
if locale is None:
|
||||||
locale = locale.getdefaultlocale()
|
locale = _locale.getdefaultlocale()
|
||||||
self.locale = locale
|
self.locale = locale
|
||||||
|
|
||||||
def formatweekday(self, day, width):
|
def formatweekday(self, day, width):
|
||||||
|
@ -537,7 +539,7 @@ class LocaleHTMLCalendar(HTMLCalendar):
|
||||||
def __init__(self, firstweekday=0, locale=None):
|
def __init__(self, firstweekday=0, locale=None):
|
||||||
HTMLCalendar.__init__(self, firstweekday)
|
HTMLCalendar.__init__(self, firstweekday)
|
||||||
if locale is None:
|
if locale is None:
|
||||||
locale = locale.getdefaultlocale()
|
locale = _locale.getdefaultlocale()
|
||||||
self.locale = locale
|
self.locale = locale
|
||||||
|
|
||||||
def formatweekday(self, day):
|
def formatweekday(self, day):
|
||||||
|
@ -658,9 +660,11 @@ def main(args):
|
||||||
parser.error("if --locale is specified --encoding is required")
|
parser.error("if --locale is specified --encoding is required")
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
locale = options.locale, options.encoding
|
||||||
|
|
||||||
if options.type == "html":
|
if options.type == "html":
|
||||||
if options.locale:
|
if options.locale:
|
||||||
cal = LocaleHTMLCalendar(locale=options.locale)
|
cal = LocaleHTMLCalendar(locale=locale)
|
||||||
else:
|
else:
|
||||||
cal = HTMLCalendar()
|
cal = HTMLCalendar()
|
||||||
encoding = options.encoding
|
encoding = options.encoding
|
||||||
|
@ -676,7 +680,7 @@ def main(args):
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
else:
|
else:
|
||||||
if options.locale:
|
if options.locale:
|
||||||
cal = LocaleTextCalendar(locale=options.locale)
|
cal = LocaleTextCalendar(locale=locale)
|
||||||
else:
|
else:
|
||||||
cal = TextCalendar()
|
cal = TextCalendar()
|
||||||
optdict = dict(w=options.width, l=options.lines)
|
optdict = dict(w=options.width, l=options.lines)
|
||||||
|
|
Loading…
Reference in New Issue