1.1 --- a/imiptools/content.py Mon Feb 02 17:25:20 2015 +0100
1.2 +++ b/imiptools/content.py Mon Feb 02 17:29:58 2015 +0100
1.3 @@ -24,7 +24,7 @@
1.4 from email.mime.text import MIMEText
1.5 from imiptools.config import MANAGER_PATH, MANAGER_URL
1.6 from imiptools.data import Object, parse_object, \
1.7 - get_address, get_fragments, get_uri, get_value, \
1.8 + get_address, get_uri, get_value, \
1.9 is_new_object, uri_dict, uri_item
1.10 from imiptools.dates import *
1.11 from imiptools.period import can_schedule, insert_period, remove_period
1.12 @@ -142,6 +142,7 @@
1.13 (outgoing-recipients, message-part).
1.14 """
1.15
1.16 + handlers = dict(handlers)
1.17 method = part.get_param("method")
1.18
1.19 # Decode the data and parse it.
1.20 @@ -163,12 +164,19 @@
1.21
1.22 all_results = []
1.23
1.24 - for name, handler in handlers:
1.25 - for fragment in get_fragments(itip, name):
1.26 + for name, items in itip.items():
1.27 +
1.28 + # Get a handler for the given section.
1.29 +
1.30 + handler = handlers.get(name)
1.31 + if not handler:
1.32 + continue
1.33 +
1.34 + for item in items:
1.35
1.36 # Dispatch to a handler and obtain any response.
1.37
1.38 - handler.set_object(Object(fragment))
1.39 + handler.set_object(Object({name : item}))
1.40 results = methods[method](handler)()
1.41
1.42 # Aggregate responses for a single message.
1.43 @@ -202,14 +210,14 @@
1.44 'recipient' of the object (if specifically indicated).
1.45 """
1.46
1.47 - self.obj = None
1.48 self.senders = senders and set(map(get_address, senders))
1.49 self.recipient = recipient and get_address(recipient)
1.50 self.messenger = messenger
1.51
1.52 - self.uid = self.obj.get_value("UID")
1.53 - self.sequence = self.obj.get_value("SEQUENCE")
1.54 - self.dtstamp = self.obj.get_value("DTSTAMP")
1.55 + self.obj = None
1.56 + self.uid = None
1.57 + self.sequence = None
1.58 + self.dtstamp = None
1.59
1.60 self.store = imip_store.FileStore()
1.61
1.62 @@ -220,6 +228,9 @@
1.63
1.64 def set_object(self, obj):
1.65 self.obj = obj
1.66 + self.uid = self.obj.get_value("UID")
1.67 + self.sequence = self.obj.get_value("SEQUENCE")
1.68 + self.dtstamp = self.obj.get_value("DTSTAMP")
1.69
1.70 def wrap(self, text, link=True):
1.71