Taking in changes from other projects
[doneit] / src / cache_backend.py
index bc0d6be..0e4afcb 100644 (file)
@@ -70,6 +70,7 @@ class LazyCacheBackend(object):
                taskId = self._backend.add_task(projId, taskName)
                self._invalidate_projects_tasks(projId)
                self._invalidate_metaprojects_tasks()
+               self._taskIdToProjId[taskId] = projId
                return taskId
 
        def set_project(self, taskId, newProjId):
@@ -151,11 +152,12 @@ class LazyCacheBackend(object):
                self._invalidate_metaprojects_tasks()
 
        def _invalidate_projects_tasks(self, projId):
-               del self._items[projId]
+               if projId in self._items:
+                       del self._items[projId]
 
        def _invalidate_metaprojects_tasks(self):
-               for projId in self._get_metalists():
-                       self._invalidate_projects_tasks(projId)
+               for proj in self._get_metalists():
+                       self._invalidate_projects_tasks(proj["id"])
 
        def _get_metalists(self):
                return (