imip-agent

Changeset

1187:f13a53554da3
2016-05-14 Paul Boddie raw files shortlog changelog graph Fixed period removal during free/busy collection updates by introducing special period removal methods that distinguish between specific period instances using additional collection-specific information.
imiptools/period.py (file)
     1.1 --- a/imiptools/period.py	Sat May 14 00:53:42 2016 +0200
     1.2 +++ b/imiptools/period.py	Sat May 14 00:55:51 2016 +0200
     1.3 @@ -755,7 +755,7 @@
     1.4  
     1.5          self._check_mutable()
     1.6  
     1.7 -        self.remove_event_periods(uid, recurrenceid)
     1.8 +        self.remove_specific_event_periods(uid, recurrenceid)
     1.9  
    1.10          for p in periods:
    1.11              self.insert_period(p)
    1.12 @@ -792,7 +792,7 @@
    1.13  
    1.14          self._check_mutable()
    1.15  
    1.16 -        self.remove_event_periods(uid, recurrenceid, attendee)
    1.17 +        self.remove_specific_event_periods(uid, recurrenceid, attendee)
    1.18  
    1.19          for p in periods:
    1.20              self.insert_period(p)
    1.21 @@ -919,6 +919,10 @@
    1.22  
    1.23          return removed
    1.24  
    1.25 +    # Specific period removal when updating event details.
    1.26 +
    1.27 +    remove_specific_event_periods = remove_event_periods
    1.28 +
    1.29      def remove_additional_periods(self, uid, recurrenceids=None):
    1.30  
    1.31          """
    1.32 @@ -1048,7 +1052,7 @@
    1.33  
    1.34      "A collection of quota group free/busy objects."
    1.35  
    1.36 -    def remove_event_periods(self, uid, recurrenceid=None, attendee=None):
    1.37 +    def remove_specific_event_periods(self, uid, recurrenceid=None, attendee=None):
    1.38  
    1.39          """
    1.40          Remove from the collection all periods associated with 'uid' and
    1.41 @@ -1198,6 +1202,10 @@
    1.42  
    1.43          return map(lambda t: self.make_period(t), removed)
    1.44  
    1.45 +    # Specific period removal when updating event details.
    1.46 +
    1.47 +    remove_specific_event_periods = remove_event_periods
    1.48 +
    1.49      def remove_additional_periods(self, uid, recurrenceids=None):
    1.50  
    1.51          """
    1.52 @@ -1377,7 +1385,7 @@
    1.53  
    1.54      "A collection of quota group free/busy objects."
    1.55  
    1.56 -    def remove_event_periods(self, uid, recurrenceid=None, attendee=None):
    1.57 +    def remove_specific_event_periods(self, uid, recurrenceid=None, attendee=None):
    1.58  
    1.59          """
    1.60          Remove from the collection all periods associated with 'uid' and