# HG changeset patch # User Paul Boddie # Date 1421945454 -3600 # Node ID bb9494547de1d617bf1bdc10542e1e9d613d5020 # Parent eff00f10d12abf19727e0039580d158e0494eeeb Introduced a common DTSTAMP update method. diff -r eff00f10d12a -r bb9494547de1 imip_manager.py --- a/imip_manager.py Thu Jan 22 17:50:22 2015 +0100 +++ b/imip_manager.py Thu Jan 22 17:50:54 2015 +0100 @@ -24,7 +24,6 @@ LIBRARY_PATH = "/var/lib/imip-agent" -from datetime import datetime import babel.dates import cgi, os, sys @@ -153,7 +152,7 @@ if update: sequence = self.get_value("SEQUENCE") or "0" self.details["SEQUENCE"] = [(str(int(sequence) + 1), {})] - self.details["DTSTAMP"] = [(format_datetime(to_timezone(datetime.utcnow(), "UTC")), {})] + self.update_dtstamp() self.send_message(get_address(attendee)) diff -r eff00f10d12a -r bb9494547de1 imiptools/content.py --- a/imiptools/content.py Thu Jan 22 17:50:22 2015 +0100 +++ b/imiptools/content.py Thu Jan 22 17:50:54 2015 +0100 @@ -442,6 +442,14 @@ return True + def update_dtstamp(self): + + "Update the DTSTAMP in the current object." + + dtstamp = self.get_utc_datetime("DTSTAMP") + utcnow = to_timezone(datetime.utcnow(), "UTC") + self.details["DTSTAMP"] = [(format_datetime(dtstamp > utcnow and dtstamp or utcnow), {})] + # Handler registry. methods = { diff -r eff00f10d12a -r bb9494547de1 imiptools/handlers/resource.py --- a/imiptools/handlers/resource.py Thu Jan 22 17:50:22 2015 +0100 +++ b/imiptools/handlers/resource.py Thu Jan 22 17:50:54 2015 +0100 @@ -19,7 +19,8 @@ this program. If not, see . """ -from imiptools.content import Handler, format_datetime, get_address, get_uri, to_part +from imiptools.content import Handler, format_datetime, get_address, get_uri, \ + to_part from imiptools.handlers.common import CommonFreebusy from vCalendar import to_node @@ -76,6 +77,10 @@ self.details["ATTENDEE"] = [(attendee, attendee_attr)] + # Update the DTSTAMP. + + self.update_dtstamp() + event = to_node({"VEVENT" : [(self.details, {})]}) self.store.set_event(attendee, self.uid, event)