# HG changeset patch # User Paul Boddie # Date 1389304588 -3600 # Node ID c658afe0a49447e2b7a507f3b8758a4e0698641f # Parent 8ccb413b7cf73eddee78c2b360f24e2fdba2d336 Added RFC 2822 datetime formatting. diff -r 8ccb413b7cf7 -r c658afe0a494 DateSupport.py --- a/DateSupport.py Fri Dec 20 23:25:44 2013 +0100 +++ b/DateSupport.py Thu Jan 09 22:56:28 2014 +0100 @@ -2,7 +2,7 @@ """ MoinMoin - DateSupport library (derived from EventAggregatorSupport) - @copyright: 2008, 2009, 2010, 2011, 2012, 2013 by Paul Boddie + @copyright: 2008, 2009, 2010, 2011, 2012, 2013, 2014 by Paul Boddie @license: GNU GPL (v2 or later), see COPYING.txt for details. """ @@ -392,7 +392,7 @@ def __str__(self): return Date.__str__(self) + self.time_string() - def time_string(self, zone_as_offset=False, time_prefix=" ", zone_prefix=" "): + def time_string(self, zone_as_offset=False, time_prefix=" ", zone_prefix=" ", zone_separator=":"): if self.has_time(): data = self.as_tuple() time_str = "%s%02d:%02d" % ((time_prefix,) + data[3:5]) @@ -402,13 +402,23 @@ if zone_as_offset: utc_offset = self.utc_offset() if utc_offset: - time_str += "%s%+03d:%02d" % ((zone_prefix,) + utc_offset) + time_str += "%s%+03d%s%02d" % (zone_prefix, utc_offset[0], zone_separator, utc_offset[1]) else: time_str += "%s%s" % (zone_prefix, data[6]) return time_str else: return "" + def as_RFC2822_datetime_string(self): + weekday = calendar.weekday(*self.data[:3]) + return "%s, %02d %s %04d %s" % ( + getDayLabel(weekday)[:3], + self.data[2], + getMonthLabel(self.data[1])[:3], + self.data[0], + self.time_string(zone_as_offset=True, time_prefix="", zone_prefix=" ", zone_separator="") + ) + def as_HTTP_datetime_string(self): weekday = calendar.weekday(*self.data[:3]) return "%s, %02d %s %04d %02d:%02d:%02d GMT" % (( diff -r 8ccb413b7cf7 -r c658afe0a494 README.txt --- a/README.txt Fri Dec 20 23:25:44 2013 +0100 +++ b/README.txt Thu Jan 09 22:56:28 2014 +0100 @@ -71,6 +71,7 @@ * Added groupHasMember from ApproveChanges. * Added the TokenSupport module to try and have a reliable shell-like tokeniser. + * Added RFC 2822 datetime formatting. New in MoinSupport 0.4.1 (Changes since MoinSupport 0.4) --------------------------------------------------------