Commit 1b9c177c authored by Skip Montanaro's avatar Skip Montanaro

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.
parent 95700f7c
...@@ -29,11 +29,13 @@ class _localized_name: ...@@ -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) ...@@ -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)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment