# HG changeset patch # User Paul Boddie # Date 1431793615 -7200 # Node ID a648f5a930e9a183a6e076784d6097ff64bc92a0 # Parent 9aa0d03293385e81febdcdf8290f83284dc49242 Convert recurrence identifiers to comparable start datetimes. diff -r 9aa0d0329338 -r a648f5a930e9 imipweb/event.py --- a/imipweb/event.py Sat May 16 18:26:23 2015 +0200 +++ b/imipweb/event.py Sat May 16 18:26:55 2015 +0200 @@ -24,7 +24,7 @@ from imiptools.data import get_uri, uri_dict, uri_values from imiptools.dates import format_datetime, to_date, get_datetime, \ get_datetime_item, get_period_item, \ - to_timezone, to_utc_datetime + to_recurrence_start, to_timezone, to_utc_datetime from imiptools.mail import Messenger from imiptools.period import have_conflict from imipweb.data import EventPeriod, \ @@ -67,13 +67,16 @@ def get_recurrence_key(self, period): return format_datetime(to_utc_datetime(period.get_start(), self.get_tzid())) + def get_recurrence_keys(self, recurrenceids): + return [to_recurrence_start(s, self.get_tzid()) for s in recurrenceids] + def is_replaced(self, period, recurrenceids): start_utc = self.get_recurrence_key(period) - return recurrenceids and start_utc in recurrenceids and "replaced" or "" + return recurrenceids and start_utc in self.get_recurrence_keys(recurrenceids) and "replaced" or "" def is_affected(self, period, recurrenceid): start_utc = self.get_recurrence_key(period) - return recurrenceid and start_utc == recurrenceid and "affected" or "" + return recurrenceid and start_utc == to_recurrence_start(recurrenceid, self.get_tzid()) and "affected" or "" # Request logic methods.