X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/0e325085d7cebbba5f301d472e83ce0ba58d1f15..1de91d347157b73cd240df7fa950b99ec221b304:/tasklib/lazy.py?ds=inline diff --git a/tasklib/lazy.py b/tasklib/lazy.py index aa2c065..7d8e0de 100644 --- a/tasklib/lazy.py +++ b/tasklib/lazy.py @@ -40,7 +40,13 @@ class LazyUUIDTask(object): return self['uuid'].__hash__() def __repr__(self): - return "LazyUUIDTask: {0}".format(self._uuid) + 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): @@ -94,7 +100,7 @@ class LazyUUIDTaskSet(object): return getattr(self, name) def __repr__(self): - return "LazyUUIDTaskSet([{0}])".format(', '.join(self._uuids)) + return 'LazyUUIDTaskSet([{0}])'.format(', '.join(self._uuids)) def __eq__(self, other): return set(t['uuid'] for t in other) == self._uuids @@ -119,8 +125,10 @@ class LazyUUIDTaskSet(object): return self.difference_update(other) def __rsub__(self, other): - return LazyUUIDTaskSet(self._tw, - set(t['uuid'] for t in other) - self._uuids) + return LazyUUIDTaskSet( + self._tw, + set(t['uuid'] for t in other) - self._uuids, + ) def __or__(self, other): return self.union(other) @@ -162,20 +170,28 @@ class LazyUUIDTaskSet(object): return all([task in self for task in other]) def union(self, other): - return LazyUUIDTaskSet(self._tw, - self._uuids | set(t['uuid'] for t in other)) + return LazyUUIDTaskSet( + self._tw, + 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)) + return LazyUUIDTaskSet( + self._tw, + 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)) + return LazyUUIDTaskSet( + self._tw, + 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)) + return LazyUUIDTaskSet( + self._tw, + self._uuids ^ set(t['uuid'] for t in other), + ) def update(self, other): self._uuids |= set(t['uuid'] for t in other)