1.1 --- a/imip_manager.py Thu Jan 22 17:50:22 2015 +0100
1.2 +++ b/imip_manager.py Thu Jan 22 17:50:54 2015 +0100
1.3 @@ -24,7 +24,6 @@
1.4
1.5 LIBRARY_PATH = "/var/lib/imip-agent"
1.6
1.7 -from datetime import datetime
1.8 import babel.dates
1.9 import cgi, os, sys
1.10
1.11 @@ -153,7 +152,7 @@
1.12 if update:
1.13 sequence = self.get_value("SEQUENCE") or "0"
1.14 self.details["SEQUENCE"] = [(str(int(sequence) + 1), {})]
1.15 - self.details["DTSTAMP"] = [(format_datetime(to_timezone(datetime.utcnow(), "UTC")), {})]
1.16 + self.update_dtstamp()
1.17
1.18 self.send_message(get_address(attendee))
1.19
2.1 --- a/imiptools/content.py Thu Jan 22 17:50:22 2015 +0100
2.2 +++ b/imiptools/content.py Thu Jan 22 17:50:54 2015 +0100
2.3 @@ -442,6 +442,14 @@
2.4
2.5 return True
2.6
2.7 + def update_dtstamp(self):
2.8 +
2.9 + "Update the DTSTAMP in the current object."
2.10 +
2.11 + dtstamp = self.get_utc_datetime("DTSTAMP")
2.12 + utcnow = to_timezone(datetime.utcnow(), "UTC")
2.13 + self.details["DTSTAMP"] = [(format_datetime(dtstamp > utcnow and dtstamp or utcnow), {})]
2.14 +
2.15 # Handler registry.
2.16
2.17 methods = {
3.1 --- a/imiptools/handlers/resource.py Thu Jan 22 17:50:22 2015 +0100
3.2 +++ b/imiptools/handlers/resource.py Thu Jan 22 17:50:54 2015 +0100
3.3 @@ -19,7 +19,8 @@
3.4 this program. If not, see <http://www.gnu.org/licenses/>.
3.5 """
3.6
3.7 -from imiptools.content import Handler, format_datetime, get_address, get_uri, to_part
3.8 +from imiptools.content import Handler, format_datetime, get_address, get_uri, \
3.9 + to_part
3.10 from imiptools.handlers.common import CommonFreebusy
3.11 from vCalendar import to_node
3.12
3.13 @@ -76,6 +77,10 @@
3.14
3.15 self.details["ATTENDEE"] = [(attendee, attendee_attr)]
3.16
3.17 + # Update the DTSTAMP.
3.18 +
3.19 + self.update_dtstamp()
3.20 +
3.21 event = to_node({"VEVENT" : [(self.details, {})]})
3.22 self.store.set_event(attendee, self.uid, event)
3.23