1.1 --- a/imiptools/client.py Mon Oct 05 23:53:38 2015 +0200
1.2 +++ b/imiptools/client.py Mon Oct 05 23:56:48 2015 +0200
1.3 @@ -25,7 +25,7 @@
1.4 is_new_object, make_freebusy, to_part, \
1.5 uri_dict, uri_items, uri_values
1.6 from imiptools.dates import check_permitted_values, format_datetime, get_default_timezone, \
1.7 - get_duration, get_time, get_timestamp
1.8 + get_duration, get_timestamp
1.9 from imiptools.period import can_schedule, remove_period, \
1.10 remove_additional_periods, remove_affected_period, \
1.11 update_freebusy
1.12 @@ -370,21 +370,19 @@
1.13 self.obj["RECURRENCE-ID"] = [self.obj.get_item("DTSTART")]
1.14 self.recurrenceid = self.obj.get_recurrenceid()
1.15
1.16 - def update_dtstamp(self):
1.17 + def update_dtstamp(self, obj=None):
1.18
1.19 - "Update the DTSTAMP in the current object."
1.20 + "Update the DTSTAMP in the current object or any given object 'obj'."
1.21 +
1.22 + obj = obj or self.obj
1.23 + self.dtstamp = obj.update_dtstamp()
1.24
1.25 - dtstamp = self.obj.get_utc_datetime("DTSTAMP")
1.26 - utcnow = get_time()
1.27 - self.dtstamp = format_datetime(dtstamp and dtstamp > utcnow and dtstamp or utcnow)
1.28 - self.obj["DTSTAMP"] = [(self.dtstamp, {})]
1.29 + def update_sequence(self, increment=False, obj=None):
1.30
1.31 - def set_sequence(self, increment=False):
1.32 + "Update the SEQUENCE in the current object or any given object 'obj'."
1.33
1.34 - "Update the SEQUENCE in the current object."
1.35 -
1.36 - sequence = self.obj.get_value("SEQUENCE") or "0"
1.37 - self.obj["SEQUENCE"] = [(str(int(sequence) + (increment and 1 or 0)), {})]
1.38 + obj = obj or self.obj
1.39 + obj.update_sequence(increment)
1.40
1.41 def merge_attendance(self, attendees):
1.42
1.43 @@ -866,4 +864,17 @@
1.44
1.45 return True
1.46
1.47 + # Convenience methods for removing counter-proposals and updating the
1.48 + # request queue.
1.49 +
1.50 + def remove_counter(self, attendee):
1.51 + self.remove_counters([attendee])
1.52 +
1.53 + def remove_counters(self, attendees):
1.54 + for attendee in attendees:
1.55 + self.store.remove_counter(self.user, attendee, self.uid, self.recurrenceid)
1.56 +
1.57 + if not self.store.get_counters(self.user, self.uid, self.recurrenceid):
1.58 + self.store.dequeue_request(self.user, self.uid, self.recurrenceid)
1.59 +
1.60 # vim: tabstop=4 expandtab shiftwidth=4