Removing an unused function
[doneit] / src / rtm_backend.py
index 76c4ded..8b7549c 100644 (file)
@@ -23,7 +23,6 @@ class RtMilkManager(object):
        @todo Add interface for task estimate
        @todo Add interface for task location
        @todo Add interface for task url 
-       @todo Add interface for task notes
        @todo Add undo support
        """
        API_KEY = '71f471f7c6ecdda6def341967686fe05'
@@ -48,12 +47,9 @@ class RtMilkManager(object):
                        yield list
 
        def get_project(self, projId):
-               proj = [proj for proj in self.get_projects() if projId == proj["id"]]
-               assert len(proj) == 1, "%r / %r" % (proj, self._lists)
-               return proj[0]
-
-       def get_project_names(self):
-               return (list["name"] for list in self.get_projects)
+               projs = [proj for proj in self.get_projects() if projId == proj["id"]]
+               assert len(projs) == 1, "%r: %r / %r" % (projId, projs, self._lists)
+               return projs[0]
 
        def lookup_project(self, projName):
                """
@@ -93,7 +89,10 @@ class RtMilkManager(object):
                                        "completedDate": task.completed,
                                        "priority": task.priority,
                                        "estimate": task.estimate,
-                                       "notes": list(self._get_notes(taskId, taskSeries.notes)),
+                                       "notes": dict((
+                                               (note["id"], note)
+                                               for note in self._get_notes(taskId, taskSeries.notes)
+                                       )),
                                }
                                taskDetails = self._parse_task_details(rawTaskDetails)
                                yield taskDetails
@@ -183,6 +182,39 @@ class RtMilkManager(object):
                )
                assert rsp.stat == "ok", "Bad response: %r" % (rsp, )
 
+       def add_note(self, taskId, noteTitle, noteBody):
+               projId, seriesId, taskId = self._unpack_ids(taskId)
+
+               rsp = self._rtm.tasks.notes.add(
+                       timeline=self._timeline,
+                       list_id=projId,
+                       taskseries_id=seriesId,
+                       task_id=taskId,
+                       note_title=noteTitle,
+                       note_text=noteBody,
+               )
+               assert rsp.stat == "ok", "Bad response: %r" % (rsp, )
+
+       def update_note(self, noteId, noteTitle, noteBody):
+               projId, seriesId, taskId, note = self._unpack_ids(noteId)
+
+               rsp = self._rtm.tasks.notes.edit(
+                       timeline=self._timeline,
+                       note_id=noteId,
+                       note_title=noteTitle,
+                       note_text=noteBody,
+               )
+               assert rsp.stat == "ok", "Bad response: %r" % (rsp, )
+
+       def delete_note(self, noteId):
+               projId, seriesId, taskId, noteId = self._unpack_ids(noteId)
+
+               rsp = self._rtm.tasks.notes.delete(
+                       timeline=self._timeline,
+                       note_id=noteId,
+               )
+               assert rsp.stat == "ok", "Bad response: %r" % (rsp, )
+
        @staticmethod
        def _pack_ids(*ids):
                """