1.1 --- a/imiptools/content.py Thu Feb 12 22:35:16 2015 +0100
1.2 +++ b/imiptools/content.py Thu Feb 12 22:41:50 2015 +0100
1.3 @@ -115,6 +115,7 @@
1.4
1.5 self.obj = None
1.6 self.uid = None
1.7 + self.recurrenceid = None
1.8 self.sequence = None
1.9 self.dtstamp = None
1.10
1.11 @@ -128,6 +129,7 @@
1.12 def set_object(self, obj):
1.13 self.obj = obj
1.14 self.uid = self.obj.get_value("UID")
1.15 + self.recurrenceid = self.obj.get_value("RECURRENCE-ID")
1.16 self.sequence = self.obj.get_value("SEQUENCE")
1.17 self.dtstamp = self.obj.get_value("DTSTAMP")
1.18
1.19 @@ -166,14 +168,14 @@
1.20 # Access to calendar structures and other data.
1.21
1.22 def remove_from_freebusy(self, freebusy, attendee):
1.23 - remove_from_freebusy(freebusy, attendee, self.uid, self.store)
1.24 + remove_from_freebusy(freebusy, attendee, self.uid, self.recurrenceid, self.store)
1.25
1.26 def remove_from_freebusy_for_other(self, freebusy, user, other):
1.27 - remove_from_freebusy_for_other(freebusy, user, other, self.uid, self.store)
1.28 + remove_from_freebusy_for_other(freebusy, user, other, self.uid, self.recurrenceid, self.store)
1.29
1.30 def update_freebusy(self, freebusy, attendee, periods):
1.31 update_freebusy(freebusy, attendee, periods, self.obj.get_value("TRANSP"),
1.32 - self.uid, self.store)
1.33 + self.uid, self.recurrenceid, self.store)
1.34
1.35 def update_freebusy_from_participant(self, user, participant_item):
1.36
1.37 @@ -192,7 +194,7 @@
1.38 update_freebusy_for_other(freebusy, user, participant,
1.39 self.obj.get_periods_for_freebusy(tzid=None),
1.40 self.obj.get_value("TRANSP"),
1.41 - self.uid, self.store)
1.42 + self.uid, self.recurrenceid, self.store)
1.43 else:
1.44 self.remove_from_freebusy_for_other(freebusy, user, participant)
1.45
1.46 @@ -213,7 +215,7 @@
1.47 self.update_freebusy_from_participant(organiser, attendee_item)
1.48
1.49 def can_schedule(self, freebusy, periods):
1.50 - return can_schedule(freebusy, periods, self.uid)
1.51 + return can_schedule(freebusy, periods, self.uid, self.recurrenceid)
1.52
1.53 def filter_by_senders(self, mapping):
1.54
1.55 @@ -335,7 +337,7 @@
1.56 given 'user' and for the given 'objtype'.
1.57 """
1.58
1.59 - fragment = self.store.get_event(user, self.uid)
1.60 + fragment = self.store.get_event(user, self.uid, self.recurrenceid)
1.61 return fragment and Object(fragment)
1.62
1.63 def have_new_object(self, attendee, obj=None):
1.64 @@ -418,10 +420,7 @@
1.65 event = obj.to_node()
1.66 recurrenceid = obj.get_value("RECURRENCE-ID")
1.67
1.68 - if not recurrenceid:
1.69 - self.store.set_event(identity, self.uid, event)
1.70 - else:
1.71 - self.store.set_recurrence(identity, self.uid, recurrenceid, event)
1.72 + self.store.set_event(identity, self.uid, self.recurrenceid, event)
1.73
1.74 return True
1.75