More tests, more bug fixes
[doneit] / src / cache_backend.py
index 1bee9e8..bc0d6be 100644 (file)
@@ -1,4 +1,9 @@
-class CacheBackend(object):
+"""
+@todo Write and eager cache which will then, combined with file_backend, will be the basis of sync
+"""
+
+
+class LazyCacheBackend(object):
 
        def __init__(self, backend):
                self._backend = backend
@@ -15,8 +20,9 @@ class CacheBackend(object):
                self._backend.load()
 
        def add_project(self, name):
-               self._backend.add_project(name)
+               projId = self._backend.add_project(name)
                self._invalidate_projects()
+               return projId
 
        def set_project_name(self, projId, name):
                self._backend.set_project_name(projId, name)
@@ -61,9 +67,10 @@ class CacheBackend(object):
                return self._items[projId][taskId]
 
        def add_task(self, projId, taskName):
-               self._backend.add_task(projId, taskName)
+               taskId = self._backend.add_task(projId, taskName)
                self._invalidate_projects_tasks(projId)
                self._invalidate_metaprojects_tasks()
+               return taskId
 
        def set_project(self, taskId, newProjId):
                self._backend.set_project(taskId, newProjId)
@@ -89,8 +96,9 @@ class CacheBackend(object):
                self._invalidate_task(taskId)
 
        def add_note(self, taskId, noteTitle, noteBody):
-               self._backend.add_note(taskId, noteTitle, noteBody)
+               noteId = self._backend.add_note(taskId, noteTitle, noteBody)
                self._invalidate_task(taskId)
+               return noteId
 
        def update_note(self, noteId, noteTitle, noteBody):
                self._backend.update_note(noteId, noteTitle, noteBody)