From 3543f3d0b841693af1923ddbaac440c767e914bd Mon Sep 17 00:00:00 2001 From: Tomas Babej Date: Sat, 26 Dec 2015 03:05:12 +0100 Subject: [PATCH] LazyUUIDTaskSet: Expand interface to support operators --- tasklib/lazy.py | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/tasklib/lazy.py b/tasklib/lazy.py index 1e13fc3..c3feed5 100644 --- a/tasklib/lazy.py +++ b/tasklib/lazy.py @@ -105,8 +105,28 @@ class LazyUUIDTaskSet(object): yield LazyUUIDTask(self._tw, uuid) def __sub__(self, other): - return LazyUUIDTaskSet(self._tw, - self._uuids - set(t['uuid'] for t in other)) + return self.difference(other) + + def __isub__(self, other): + return self.difference_update(other) + + def __or__(self, other): + return self.union(other) + + def __ior__(self, other): + return self.update(other) + + def __xor__(self, other): + return self.symmetric_difference(other) + + def __ixor__(self, other): + return self.symmetric_difference_update(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]) -- 2.39.5