1.1 --- a/imiptools/handlers/common.py Sun Sep 13 17:09:56 2015 +0200
1.2 +++ b/imiptools/handlers/common.py Sun Sep 13 17:11:12 2015 +0200
1.3 @@ -79,6 +79,37 @@
1.4 self.obj.get_datetime("DTSTART") and
1.5 (self.obj.get_datetime("DTEND") or self.obj.get_duration("DURATION")))
1.6
1.7 + def will_refresh(self):
1.8 +
1.9 + """
1.10 + Indicate whether a REFRESH message should be used to respond to an ADD
1.11 + message.
1.12 + """
1.13 +
1.14 + return not self.get_stored_object_version() or self.get_add_method_response() == "refresh"
1.15 +
1.16 + def make_refresh(self):
1.17 +
1.18 + "Make a REFRESH message."
1.19 +
1.20 + organiser = get_uri(self.obj.get_value("ORGANIZER"))
1.21 + attendees = uri_dict(self.obj.get_value_map("ATTENDEE"))
1.22 +
1.23 + # Add SENT-BY details to the recipient's attributes.
1.24 +
1.25 + attendee_attr = attendees[self.user]
1.26 + self.update_sender(attendee_attr)
1.27 +
1.28 + # Make a new object with a minimal property selection.
1.29 +
1.30 + obj = self.obj.copy()
1.31 + obj.preserve(("ORGANIZER", "DTSTAMP", "UID", "RECURRENCE-ID"))
1.32 + obj["ATTENDEE"] = [(self.user, attendee_attr)]
1.33 +
1.34 + # Send a REFRESH message in response.
1.35 +
1.36 + self.add_result("REFRESH", [get_address(organiser)], obj.to_part("REFRESH"))
1.37 +
1.38 def update_event_in_freebusy(self, for_organiser=True):
1.39
1.40 """