diff options
| author | bwarsaw | 2002-12-09 04:26:11 +0000 |
|---|---|---|
| committer | bwarsaw | 2002-12-09 04:26:11 +0000 |
| commit | 3d0c7769c786ce657c0325d30d695aebe6a66269 (patch) | |
| tree | c8701503a0466a7fcb2410ad17a9f8a004cb72e8 | |
| parent | 469b12e8cfc912874019fdd0ddc95060d27b98f4 (diff) | |
| download | mailman-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.py | 43 |
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] |
