1.1 --- a/imiptools/dates.py Sat May 16 18:26:55 2015 +0200
1.2 +++ b/imiptools/dates.py Sat May 16 20:02:09 2015 +0200
1.3 @@ -399,4 +399,28 @@
1.4
1.5 return format_datetime(to_utc_datetime(get_datetime(recurrenceid), tzid))
1.6
1.7 +def end_date_to_calendar(dt):
1.8 +
1.9 + """
1.10 + Change end dates to refer to the iCalendar "next day" dates, not the actual
1.11 + dates.
1.12 + """
1.13 +
1.14 + if not isinstance(dt, datetime):
1.15 + return dt + timedelta(1)
1.16 + else:
1.17 + return dt
1.18 +
1.19 +def end_date_from_calendar(dt):
1.20 +
1.21 + """
1.22 + Change end dates to refer to the actual dates, not the iCalendar "next day"
1.23 + dates.
1.24 + """
1.25 +
1.26 + if not isinstance(dt, datetime):
1.27 + return dt - timedelta(1)
1.28 + else:
1.29 + return dt
1.30 +
1.31 # vim: tabstop=4 expandtab shiftwidth=4
2.1 --- a/imipweb/data.py Sat May 16 18:26:55 2015 +0200
2.2 +++ b/imipweb/data.py Sat May 16 20:02:09 2015 +0200
2.3 @@ -21,7 +21,9 @@
2.4
2.5 from datetime import datetime, timedelta
2.6 from imiptools.data import get_tzid
2.7 -from imiptools.dates import format_datetime, get_datetime, get_start_of_day, to_date
2.8 +from imiptools.dates import end_date_from_calendar, end_date_to_calendar, \
2.9 + format_datetime, get_datetime, get_start_of_day, \
2.10 + to_date
2.11 from imiptools.period import Period
2.12
2.13 class PeriodError(Exception):
2.14 @@ -92,7 +94,8 @@
2.15 self.get_form_start(),
2.16 self.get_form_end(),
2.17 isinstance(self.end, datetime) or self.get_start() != self.get_end(),
2.18 - isinstance(self.start, datetime) or isinstance(self.end, datetime)
2.19 + isinstance(self.start, datetime) or isinstance(self.end, datetime),
2.20 + self.origin
2.21 )
2.22
2.23 def get_form_date(self, dt, attr=None):
2.24 @@ -299,30 +302,6 @@
2.25 else:
2.26 return {"VALUE" : "DATE"}
2.27
2.28 -def end_date_to_calendar(dt):
2.29 -
2.30 - """
2.31 - Change end dates to refer to the iCalendar "next day" dates, not the actual
2.32 - dates.
2.33 - """
2.34 -
2.35 - if not isinstance(dt, datetime):
2.36 - return dt + timedelta(1)
2.37 - else:
2.38 - return dt
2.39 -
2.40 -def end_date_from_calendar(dt):
2.41 -
2.42 - """
2.43 - Change end dates to refer to the actual dates, not the iCalendar "next day"
2.44 - dates.
2.45 - """
2.46 -
2.47 - if not isinstance(dt, datetime):
2.48 - return dt - timedelta(1)
2.49 - else:
2.50 - return dt
2.51 -
2.52 def event_period_from_period(period):
2.53 if isinstance(period, EventPeriod):
2.54 return period