# HG changeset patch # User Paul Boddie # Date 1445004703 -7200 # Node ID 4530fda4bc4f8de0fa535e360d8da62d2bebae2d # Parent 95b15ca80c25f68deaf3018b483445f3fd54b83f Strip SENT-BY from other participants when sending messages. diff -r 95b15ca80c25 -r 4530fda4bc4f imiptools/data.py --- a/imiptools/data.py Fri Oct 16 16:11:01 2015 +0200 +++ b/imiptools/data.py Fri Oct 16 16:11:43 2015 +0200 @@ -442,6 +442,14 @@ self["SEQUENCE"] = [(str(int(sequence) + (increment and 1 or 0)), {})] return sequence + def update_senders(self, user=None): + + "Remove SENT-BY attributes from properties." + + for identity, attr in self.get_items("ATTENDEE") or []: + if attr.has_key("SENT-BY") and (not user or get_uri(identity) != user): + del attr["SENT-BY"] + def update_exceptions(self, excluded): """ diff -r 95b15ca80c25 -r 4530fda4bc4f imipweb/resource.py --- a/imipweb/resource.py Fri Oct 16 16:11:01 2015 +0200 +++ b/imipweb/resource.py Fri Oct 16 16:11:43 2015 +0200 @@ -289,6 +289,7 @@ return False method = "DECLINECOUNTER" + obj.update_senders() obj.update_dtstamp() obj.update_sequence(False) self._send_message(get_address(self.user), [get_address(attendee)], parts=[obj.to_part(method)]) @@ -312,6 +313,8 @@ if not changed: self.obj["ATTENDEE"] = [(self.user, attendee_attr)] + else: + self.obj.update_senders(self.user) self.update_dtstamp() self.update_sequence(False) @@ -336,6 +339,7 @@ organiser, organiser_attr = uri_item(self.obj.get_item("ORGANIZER")) self.update_sender(organiser_attr) + self.obj.update_senders() self.update_dtstamp() self.update_sequence(True)