1.1 --- a/imip_manager.py Sun Feb 01 21:05:55 2015 +0100
1.2 +++ b/imip_manager.py Mon Feb 02 00:12:53 2015 +0100
1.3 @@ -31,10 +31,11 @@
1.4 sys.path.append(LIBRARY_PATH)
1.5
1.6 from imiptools.content import Handler
1.7 -from imiptools.data import get_address, get_uri, parse_object, Object, to_part
1.8 +from imiptools.data import get_address, get_uri, make_freebusy, parse_object, \
1.9 + Object, to_part
1.10 from imiptools.dates import format_datetime, get_datetime, get_start_of_day, \
1.11 - get_end_of_day, ends_on_same_day, to_timezone
1.12 -from imiptools.handlers.common import SupportFreebusy
1.13 + get_end_of_day, get_timestamp, ends_on_same_day, \
1.14 + to_timezone
1.15 from imiptools.mail import Messenger
1.16 from imiptools.period import add_day_start_points, add_slots, convert_periods, \
1.17 get_freebusy_details, \
1.18 @@ -106,7 +107,7 @@
1.19 path = self.get_path()
1.20 return "%s/%s" % (path.rstrip("/"), path_info.lstrip("/"))
1.21
1.22 -class ManagerHandler(Handler, SupportFreebusy):
1.23 +class ManagerHandler(Handler):
1.24
1.25 """
1.26 A content handler for use by the manager, as opposed to operating within the
1.27 @@ -131,9 +132,7 @@
1.28
1.29 parts = [self.obj.to_part(method)]
1.30
1.31 - from_organiser = self.user == self.organiser
1.32 -
1.33 - if from_organiser:
1.34 + if self.user == self.organiser:
1.35 recipients = map(get_address, self.attendees)
1.36 else:
1.37 recipients = [get_address(self.organiser)]
1.38 @@ -145,9 +144,13 @@
1.39 if preferences.get("freebusy_sharing") == "share" and \
1.40 preferences.get("freebusy_bundling") == "always":
1.41
1.42 - freebusy = self.make_freebusy(from_organiser=from_organiser, publish=True)
1.43 - if freebusy:
1.44 - parts.append(to_part("PUBLISH", freebusy))
1.45 + # Invent a unique identifier.
1.46 +
1.47 + utcnow = get_timestamp()
1.48 + uid = "imip-agent-%s-%s" % (utcnow, get_address(self.user))
1.49 +
1.50 + freebusy = self.store.get_freebusy(self.user)
1.51 + parts.append(to_part("PUBLISH", [make_freebusy(freebusy, uid, self.user)]))
1.52
1.53 message = self.messenger.make_outgoing_message(parts, recipients, outgoing_bcc=sender)
1.54 self.messenger.sendmail(recipients, message.as_string(), outgoing_bcc=sender)
1.55 @@ -361,7 +364,7 @@
1.56
1.57 # Invent a unique identifier.
1.58
1.59 - utcnow = format_datetime(to_timezone(datetime.utcnow(), "UTC"))
1.60 + utcnow = get_timestamp()
1.61 uid = "imip-agent-%s-%s" % (utcnow, get_address(self.user))
1.62
1.63 # Create a calendar object and store it as a request.