"items": self._items,
"locations": self._locations,
}
- pickle.dump(state, self._filename)
+ with open(self._filename, "wb") as pickleFile:
+ pickle.dump(state, pickleFile)
def load(self):
- state = pickle.load(self._filename)
+ state = {
+ "projects": {},
+ "items": {},
+ "locations": {},
+ }
+ try:
+ with open(self._filename, "rb") as pickleFile:
+ state = pickle.load(pickleFile)
+ except IOError, e:
+ if e.errno != 2:
+ raise
+ except EOFError, e:
+ pass
self._projects = state["projects"]
self._items = state["items"]
self._locations = state["locations"]
+ if len(self._projects) == 0:
+ self.add_project("Inbox")
+
def add_project(self, name):
projId = uuid.uuid4().hex
projDetails = {
return self._locations.itervalues()
def get_tasks_with_details(self, projId):
- return self._items[projId]
+ return self._items[projId].itervalues()
def get_task_details(self, taskId):
projId, partialTaskId = self._unpack_ids(taskId)