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.len = len
|
||||
def __getitem__(self, item):
|
||||
if item > self.len-1 or item < -self.len:
|
||||
raise IndexError
|
||||
if item < 0:
|
||||
item += self.len
|
||||
if isinstance(item, int):
|
||||
if item < 0: item += self.len
|
||||
if not 0 <= item < self.len:
|
||||
raise IndexError, "out of range"
|
||||
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):
|
||||
return self.len
|
||||
|
||||
|
@ -42,8 +44,8 @@ day_name = _localized_name('%A', 7)
|
|||
day_abbr = _localized_name('%a', 7)
|
||||
|
||||
# Full and abbreviated names of months (1-based arrays!!!)
|
||||
month_name = _localized_name('%B', 12)
|
||||
month_abbr = _localized_name('%b', 12)
|
||||
month_name = _localized_name('%B', 13)
|
||||
month_abbr = _localized_name('%b', 13)
|
||||
|
||||
# Constants for weekdays
|
||||
(MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY) = range(7)
|
||||
|
|
Loading…
Reference in New Issue