Corrected _localized_name.__getitem__ based on code in patch 503202 (which I
thought was just a bug report, so didn't notice - doh!). This handles slicing, which v 1.23 didn't.
This commit is contained in:
parent
95700f7cde
commit
1b9c177c5d
|
@ -29,11 +29,13 @@ class _localized_name:
|
||||||
self.format = format
|
self.format = format
|
||||||
self.len = len
|
self.len = len
|
||||||
def __getitem__(self, item):
|
def __getitem__(self, item):
|
||||||
if item > self.len-1 or item < -self.len:
|
if isinstance(item, int):
|
||||||
raise IndexError
|
if item < 0: item += self.len
|
||||||
if item < 0:
|
if not 0 <= item < self.len:
|
||||||
item += self.len
|
raise IndexError, "out of range"
|
||||||
return strftime(self.format, (item,)*9).capitalize()
|
return strftime(self.format, (item,)*9).capitalize()
|
||||||
|
elif isinstance(item, type(slice(0))):
|
||||||
|
return [self[e] for e in range(self.len)].__getslice__(item.start, item.stop)
|
||||||
def __len__(self):
|
def __len__(self):
|
||||||
return self.len
|
return self.len
|
||||||
|
|
||||||
|
@ -42,8 +44,8 @@ day_name = _localized_name('%A', 7)
|
||||||
day_abbr = _localized_name('%a', 7)
|
day_abbr = _localized_name('%a', 7)
|
||||||
|
|
||||||
# Full and abbreviated names of months (1-based arrays!!!)
|
# Full and abbreviated names of months (1-based arrays!!!)
|
||||||
month_name = _localized_name('%B', 12)
|
month_name = _localized_name('%B', 13)
|
||||||
month_abbr = _localized_name('%b', 12)
|
month_abbr = _localized_name('%b', 13)
|
||||||
|
|
||||||
# Constants for weekdays
|
# Constants for weekdays
|
||||||
(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7)
|
(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7)
|
||||||
|
|
Loading…
Reference in New Issue