X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/a2447bf8728f9cd3441628e7f59cbd8828989cba..1225677a596f1c36eb54ed15459ac9a40f0233e2:/tasklib/lazy.py diff --git a/tasklib/lazy.py b/tasklib/lazy.py index aa2c065..3a03a33 100644 --- a/tasklib/lazy.py +++ b/tasklib/lazy.py @@ -36,12 +36,21 @@ class LazyUUIDTask(object): # For saved Tasks, just define equality by equality of uuids return self['uuid'] == other['uuid'] + def __ne__(self, other): + return not self.__eq__(other) + def __hash__(self): return self['uuid'].__hash__() def __repr__(self): return "LazyUUIDTask: {0}".format(self._uuid) + def __copy__(self): + return LazyUUIDTask(self._tw, self._uuid) + + def __deepcopy__(self, memo): + return LazyUUIDTask(self._tw, self._uuid) + @property def saved(self): """ @@ -120,7 +129,7 @@ class LazyUUIDTaskSet(object): def __rsub__(self, other): return LazyUUIDTaskSet(self._tw, - set(t['uuid'] for t in other) - self._uuids) + set(t['uuid'] for t in other) - self._uuids) def __or__(self, other): return self.union(other) @@ -163,19 +172,19 @@ class LazyUUIDTaskSet(object): def union(self, other): return LazyUUIDTaskSet(self._tw, - self._uuids | set(t['uuid'] for t in other)) + self._uuids | set(t['uuid'] for t in other)) def intersection(self, other): return LazyUUIDTaskSet(self._tw, - self._uuids & set(t['uuid'] for t in other)) + self._uuids & set(t['uuid'] for t in other)) def difference(self, other): return LazyUUIDTaskSet(self._tw, - self._uuids - set(t['uuid'] for t in other)) + self._uuids - set(t['uuid'] for t in other)) def symmetric_difference(self, other): return LazyUUIDTaskSet(self._tw, - self._uuids ^ set(t['uuid'] for t in other)) + self._uuids ^ set(t['uuid'] for t in other)) def update(self, other): self._uuids |= set(t['uuid'] for t in other)