# HG changeset patch # User Paul Boddie # Date 1513377145 -3600 # Node ID 46d11b0c21113c8bb7e32a3db192623a3356505a # Parent 91c6ea0f3e80238336ee52edcff60bf739e28904 Prevent the unnecessary publication of cancelled or modified recurrences. diff -r 91c6ea0f3e80 -r 46d11b0c2111 imiptools/client.py --- a/imiptools/client.py Fri Dec 15 23:23:24 2017 +0100 +++ b/imiptools/client.py Fri Dec 15 23:32:25 2017 +0100 @@ -962,7 +962,16 @@ themself. """ - parts = [self.object_to_part("PUBLISH", self.obj)] + parts = [] + + # Do not publish the event if it is a recurrence and is cancelled or + # rescheduled. + + main = self.obj.get_recurrenceid() and self.obj.get_main_period() or None + + if not main or (not main in all_unscheduled and not main in all_rescheduled): + parts += [self.object_to_part("PUBLISH", self.obj)] + parts += self.get_rescheduled_parts(all_unscheduled, "CANCEL") parts += self.get_rescheduled_parts(all_rescheduled, "PUBLISH") parts += self.get_rescheduled_parts(to_add, "ADD")