1.1 --- a/imip_manager.py Mon Feb 02 18:46:59 2015 +0100
1.2 +++ b/imip_manager.py Mon Feb 02 19:43:14 2015 +0100
1.3 @@ -24,7 +24,7 @@
1.4
1.5 LIBRARY_PATH = "/var/lib/imip-agent"
1.6
1.7 -from datetime import datetime
1.8 +from datetime import date, datetime, timedelta
1.9 import babel.dates
1.10 import cgi, os, sys
1.11
1.12 @@ -295,7 +295,14 @@
1.13 return self._format_datetime(babel.dates.format_time, dt, format)
1.14
1.15 def format_datetime(self, dt, format):
1.16 - return self._format_datetime(babel.dates.format_datetime, dt, format)
1.17 + return self._format_datetime(
1.18 + isinstance(dt, datetime) and babel.dates.format_datetime or babel.dates.format_date,
1.19 + dt, format)
1.20 +
1.21 + def format_end_datetime(self, dt, format):
1.22 + if isinstance(dt, date):
1.23 + dt = dt - timedelta(1)
1.24 + return self.format_datetime(dt, format)
1.25
1.26 def _format_datetime(self, fn, dt, format):
1.27 return fn(dt, format=format, locale=self.get_user_locale())
1.28 @@ -543,7 +550,9 @@
1.29 if name in ["DTSTART", "DTEND"]:
1.30 value, attr = obj.get_item(name)
1.31 tzid = attr.get("TZID", tzid)
1.32 - value = self.format_datetime(to_timezone(get_datetime(value), tzid), "full")
1.33 + value = (
1.34 + name == "DTSTART" and self.format_datetime or self.format_end_datetime
1.35 + )(to_timezone(get_datetime(value), tzid), "full")
1.36 page.th(label, class_="objectheading")
1.37 page.td(value)
1.38 page.tr.close()