1.1 --- a/imiptools/handlers/person_outgoing.py Sat Jan 31 22:34:12 2015 +0100
1.2 +++ b/imiptools/handlers/person_outgoing.py Sun Feb 01 01:59:37 2015 +0100
1.3 @@ -20,34 +20,34 @@
1.4 this program. If not, see <http://www.gnu.org/licenses/>.
1.5 """
1.6
1.7 -from imiptools.content import Handler, uri_item
1.8 -from vCalendar import to_node
1.9 +from imiptools.content import Handler
1.10 +from imiptools.data import uri_item
1.11
1.12 class PersonHandler(Handler):
1.13
1.14 "Handling mechanisms specific to people."
1.15
1.16 - def _get_identity(self, objtype, from_organiser=True):
1.17 + def _get_identity(self, from_organiser=True):
1.18
1.19 """
1.20 Get the identity of interest in a usable form for any unprocessed
1.21 object.
1.22 """
1.23
1.24 - identity, attr = item = uri_item(self.get_item(from_organiser and "ORGANIZER" or "ATTENDEE"))
1.25 + identity, attr = item = uri_item(self.obj.get_item(from_organiser and "ORGANIZER" or "ATTENDEE"))
1.26
1.27 # Check for event using UID.
1.28
1.29 - if not self.have_new_object(identity, objtype):
1.30 + if not self.have_new_object(identity):
1.31 return None
1.32
1.33 return item
1.34
1.35 - def _record(self, objtype, from_organiser=True, update_freebusy=False):
1.36 + def _record(self, from_organiser=True, update_freebusy=False):
1.37
1.38 "Record free/busy and object information."
1.39
1.40 - item = self._get_identity(objtype, from_organiser)
1.41 + item = self._get_identity(from_organiser)
1.42 if not item:
1.43 return False
1.44
1.45 @@ -55,9 +55,7 @@
1.46
1.47 # Store the object.
1.48
1.49 - self.store.set_event(identity, self.uid, to_node(
1.50 - {objtype : [(self.details, {})]}
1.51 - ))
1.52 + self.store.set_event(identity, self.uid, self.obj.to_node())
1.53
1.54 # Remove any associated request.
1.55
1.56 @@ -83,11 +81,11 @@
1.57
1.58 return True
1.59
1.60 - def _remove(self, objtype, from_organiser=True):
1.61 + def _remove(self, from_organiser=True):
1.62
1.63 "Remove free/busy information for any unprocessed object."
1.64
1.65 - item = self._get_identity(objtype, from_organiser)
1.66 + item = self._get_identity(from_organiser)
1.67 if not item:
1.68 return False
1.69
1.70 @@ -106,7 +104,7 @@
1.71 pass
1.72
1.73 def cancel(self):
1.74 - self._remove("VEVENT", True)
1.75 + self._remove(True)
1.76
1.77 def counter(self):
1.78 pass
1.79 @@ -115,16 +113,16 @@
1.80 pass
1.81
1.82 def publish(self):
1.83 - self._record("VEVENT", True, True)
1.84 + self._record(True, True)
1.85
1.86 def refresh(self):
1.87 - self._record("VEVENT", True, True)
1.88 + self._record(True, True)
1.89
1.90 def reply(self):
1.91 - self._record("VEVENT", False, True)
1.92 + self._record(False, True)
1.93
1.94 def request(self):
1.95 - self._record("VEVENT", True, True)
1.96 + self._record(True, True)
1.97
1.98 class Freebusy(PersonHandler):
1.99
1.100 @@ -147,10 +145,10 @@
1.101 pass
1.102
1.103 def cancel(self):
1.104 - self._remove("VJOURNAL", True)
1.105 + self._remove(True)
1.106
1.107 def publish(self):
1.108 - self._record("VJOURNAL", True)
1.109 + self._record(True)
1.110
1.111 class Todo(PersonHandler):
1.112
1.113 @@ -160,7 +158,7 @@
1.114 pass
1.115
1.116 def cancel(self):
1.117 - self._remove("VTODO", True)
1.118 + self._remove(True)
1.119
1.120 def counter(self):
1.121 pass
1.122 @@ -169,16 +167,16 @@
1.123 pass
1.124
1.125 def publish(self):
1.126 - self._record("VTODO", True)
1.127 + self._record(True)
1.128
1.129 def refresh(self):
1.130 - self._record("VTODO", True)
1.131 + self._record(True)
1.132
1.133 def reply(self):
1.134 - self._record("VTODO", False)
1.135 + self._record(False)
1.136
1.137 def request(self):
1.138 - self._record("VTODO", True)
1.139 + self._record(True)
1.140
1.141 # Handler registry.
1.142