X-Git-Url: https://git.madduck.net/etc/taskwarrior.git/blobdiff_plain/76ef07d9a8863b337a7aca651842f094472f867f..f75eab5bef6b810abdac5c0c4c6c74d33f09b255:/tasklib/lazy.py?ds=sidebyside diff --git a/tasklib/lazy.py b/tasklib/lazy.py index 1e13fc3..891eb5e 100644 --- a/tasklib/lazy.py +++ b/tasklib/lazy.py @@ -105,8 +105,47 @@ class LazyUUIDTaskSet(object): yield LazyUUIDTask(self._tw, uuid) def __sub__(self, other): + return self.difference(other) + + def __isub__(self, other): + return self.difference_update(other) + + def __rsub__(self, other): return LazyUUIDTaskSet(self._tw, - self._uuids - set(t['uuid'] for t in other)) + set(t['uuid'] for t in other) - self._uuids) + + def __or__(self, other): + return self.union(other) + + def __ior__(self, other): + return self.update(other) + + def __ror__(self, other): + return self.union(other) + + def __xor__(self, other): + return self.symmetric_difference(other) + + def __ixor__(self, other): + return self.symmetric_difference_update(other) + + def __rxor__(self, other): + return self.symmetric_difference(other) + + def __and__(self, other): + return self.intersection(other) + + def __iand__(self, other): + return self.intersection_update(other) + + def __rand__(self, other): + return self.intersection(other) + + def __le__(self, other): + return self.issubset(other) + + def __ge__(self, other): + return self.issuperset(other) def issubset(self, other): return all([task in other for task in self])