Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/dobject_helpers.py
diff options
context:
space:
mode:
authorBenjamin Schwartz <bens@alum.mit.edu>2008-02-29 22:40:12 (GMT)
committer Benjamin Schwartz <bens@alum.mit.edu>2008-02-29 22:40:12 (GMT)
commit145d3d5e2d3b10662376c73a659e42a8a34973ff (patch)
tree26ed1a2e95a47327a5ddcb0218933eef661b37f9 /dobject_helpers.py
parent5c56c76d33f94b504f0fb324835e5e01bfccdd90 (diff)
Many bugfixes
Diffstat (limited to 'dobject_helpers.py')
-rw-r--r--dobject_helpers.py20
1 files changed, 10 insertions, 10 deletions
diff --git a/dobject_helpers.py b/dobject_helpers.py
index 2c5ba86..f87c7ed 100644
--- a/dobject_helpers.py
+++ b/dobject_helpers.py
@@ -165,12 +165,14 @@ class ListSet:
if i in someset:
L.append(i)
self._list = L
+ return self
def __ior__(self, someset):
if someset.__class__ == self.__class__:
self._list = merge_or(self._list, someset._list)
else:
self.update(someset)
+ return self
def __isub__(self, someset):
if someset.__class__ == self.__class__:
@@ -178,9 +180,10 @@ class ListSet:
else:
L = []
for i in self._list:
- if i in someset:
+ if i not in someset:
L.append(i)
- self._list = merge_sub(self._list, L)
+ self._list = L
+ return self
def __iter__(self):
return self._list.__iter__()
@@ -189,11 +192,8 @@ class ListSet:
if someset.__class__ == self.__class__:
self._list = merge_xor(self._list, someset._list)
else:
- L = []
- for i in self._list:
- if i in someset:
- L.append(i)
- self._list = merge_sub(self._list, L)
+ self.symmetric_difference_update(someset)
+ return self
def __le__(self, someset):
if someset.__class__ == self.__class__:
@@ -245,14 +245,14 @@ class ListSet:
else:
L = []
for i in self._list:
- if i in someset:
+ if i not in someset:
L.append(i)
- a._list = merge_sub(self._list, L)
+ a._list = L
return a
def __xor__(self, someset):
- a = ListSet()
if someset.__class__ == self.__class__:
+ a = ListSet()
a._list = merge_xor(self._list, someset._list)
else:
a = self.symmetric_difference(someset)