1.1 --- a/actions/EventAggregatorSummary.py Sun Mar 14 02:32:51 2010 +0100
1.2 +++ b/actions/EventAggregatorSummary.py Sun Mar 14 21:06:15 2010 +0100
1.3 @@ -252,21 +252,13 @@
1.4
1.5 if start.has_time():
1.6 request.write("DTSTART")
1.7 - zone = start.time_zone()
1.8 - if zone:
1.9 - request.write(";TZID=%s" % zone)
1.10 -
1.11 - request.write(";VALUE=DATE-TIME:%04d%02d%02dT%02d%02d%02d\r\n" % start.padded().as_tuple()[:-1])
1.12 + write_calendar_datetime(request, start)
1.13 else:
1.14 request.write("DTSTART;VALUE=DATE:%04d%02d%02d\r\n" % start.as_date().as_tuple())
1.15
1.16 if end.has_time():
1.17 request.write("DTEND")
1.18 - zone = end.time_zone()
1.19 - if zone:
1.20 - request.write(";TZID=%s" % zone)
1.21 -
1.22 - request.write(";VALUE=DATE-TIME:%04d%02d%02dT%02d%02d%02d\r\n" % end.padded().as_tuple()[:-1])
1.23 + write_calendar_datetime(request, end)
1.24 else:
1.25 request.write("DTEND;VALUE=DATE:%04d%02d%02d\r\n" % end.next_day().as_date().as_tuple())
1.26
1.27 @@ -343,6 +335,22 @@
1.28 if EventAggregatorSupport.isMoin15():
1.29 raise MoinMoin.util.MoinMoinNoFooter
1.30
1.31 +def write_calendar_datetime(request, datetime):
1.32 +
1.33 + """
1.34 + Write to the given 'request' the 'datetime' using appropriate time zone
1.35 + information.
1.36 + """
1.37 +
1.38 + utc_datetime = datetime.to_utc()
1.39 + if utc_datetime:
1.40 + request.write(";VALUE=DATE-TIME:%04d%02d%02dT%02d%02d%02dZ\r\n" % utc_datetime.padded().as_tuple()[:-1])
1.41 + else:
1.42 + zone = datetime.time_zone()
1.43 + if zone:
1.44 + request.write(";TZID=/%s" % zone)
1.45 + request.write(";VALUE=DATE-TIME:%04d%02d%02dT%02d%02d%02d\r\n" % datetime.padded().as_tuple()[:-1])
1.46 +
1.47 # Action function.
1.48
1.49 def execute(pagename, request):