summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbwarsaw2002-12-09 04:26:11 +0000
committerbwarsaw2002-12-09 04:26:11 +0000
commit3d0c7769c786ce657c0325d30d695aebe6a66269 (patch)
treec8701503a0466a7fcb2410ad17a9f8a004cb72e8
parent469b12e8cfc912874019fdd0ddc95060d27b98f4 (diff)
downloadmailman-3d0c7769c786ce657c0325d30d695aebe6a66269.tar.gz
mailman-3d0c7769c786ce657c0325d30d695aebe6a66269.tar.zst
mailman-3d0c7769c786ce657c0325d30d695aebe6a66269.zip
ctime(): First try to parse the date if it's a string and only do the
fallback if ValueError occurs. Also default tzname to "Server Local Time" for want of a better default.
-rw-r--r--Mailman/i18n.py43
1 files changed, 24 insertions, 19 deletions
diff --git a/Mailman/i18n.py b/Mailman/i18n.py
index 28dd1ac7c..d38eba85b 100644
--- a/Mailman/i18n.py
+++ b/Mailman/i18n.py
@@ -92,28 +92,33 @@ def ctime(date):
_('Jul'), _('Aug'), _('Sep'), _('Oct'), _('Nov'), _('Dec')
]
+ tzname = _('Server Local Time')
if isinstance(date, StringType):
try:
- wday, mon, day, hms, year = date.split()
- hh, mm, ss = hms.split(':')
- year = int(year)
- day = int(day)
- hh = int(hh)
- mm = int(mm)
- ss = int(ss)
+ year, mon, day, hh, mm, ss, wday, ydat, dst = time.strptime(date)
+ tzname = time.tzname[dst and 1 or 0]
except ValueError:
- return date
-
- for i in range(0, 7):
- wconst = (1999, 1, 1, 0, 0, 0, i, 1, 0)
- if wday.lower() == time.strftime('%a', wconst).lower():
- wday = i
- break
- for i in range(1, 13):
- mconst = (1999, i, 1, 0, 0, 0, 0, 1, 0)
- if mon.lower() == time.strftime('%b', mconst).lower():
- mon = i
- break
+ try:
+ wday, mon, day, hms, year = date.split()
+ hh, mm, ss = hms.split(':')
+ year = int(year)
+ day = int(day)
+ hh = int(hh)
+ mm = int(mm)
+ ss = int(ss)
+ except ValueError:
+ return date
+ else:
+ for i in range(0, 7):
+ wconst = (1999, 1, 1, 0, 0, 0, i, 1, 0)
+ if wday.lower() == time.strftime('%a', wconst).lower():
+ wday = i
+ break
+ for i in range(1, 13):
+ mconst = (1999, i, 1, 0, 0, 0, 0, 1, 0)
+ if mon.lower() == time.strftime('%b', mconst).lower():
+ mon = i
+ break
else:
year, mon, day, hh, mm, ss, wday, yday, dst = time.localtime(date)
tzname = time.tzname[dst and 1 or 0]