X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/32c376913b4cc616cb7fc4e076f0c2ec690229ba..2f50a72c1d1400edddd58ad654611422c92d852a:/tasklib/task.py diff --git a/tasklib/task.py b/tasklib/task.py index 8fe1e1b..1fa3faa 100644 --- a/tasklib/task.py +++ b/tasklib/task.py @@ -122,10 +122,21 @@ class Task(TaskResource): return self['description'] def __eq__(self, other): - return self['uuid'] == other['uuid'] + if self['uuid'] and other['uuid']: + # For saved Tasks, just define equality by equality of uuids + return self['uuid'] == other['uuid'] + else: + # If the tasks are not saved, compare the actual instances + return id(self) == id(other) + def __hash__(self): - return self['uuid'].__hash__() + if self['uuid']: + # For saved Tasks, just define equality by equality of uuids + return self['uuid'].__hash__() + else: + # If the tasks are not saved, return hash of instance id + return id(self).__hash__() @property def _modified_fields(self):