comparison planemo/lib/python3.7/site-packages/lxml/html/_setmixin.py @ 1:56ad4e20f292 draft

"planemo upload commit 6eee67778febed82ddd413c3ca40b3183a3898f1"
author guerler
date Fri, 31 Jul 2020 00:32:28 -0400
parents
children
comparison
equal deleted inserted replaced
0:d30785e31577 1:56ad4e20f292
1 try:
2 from collections.abc import MutableSet
3 except ImportError:
4 from collections import MutableSet
5
6
7 class SetMixin(MutableSet):
8
9 """
10 Mix-in for sets. You must define __iter__, add, remove
11 """
12
13 def __len__(self):
14 length = 0
15 for item in self:
16 length += 1
17 return length
18
19 def __contains__(self, item):
20 for has_item in self:
21 if item == has_item:
22 return True
23 return False
24
25 issubset = MutableSet.__le__
26 issuperset = MutableSet.__ge__
27
28 union = MutableSet.__or__
29 intersection = MutableSet.__and__
30 difference = MutableSet.__sub__
31 symmetric_difference = MutableSet.__xor__
32
33 def copy(self):
34 return set(self)
35
36 def update(self, other):
37 self |= other
38
39 def intersection_update(self, other):
40 self &= other
41
42 def difference_update(self, other):
43 self -= other
44
45 def symmetric_difference_update(self, other):
46 self ^= other
47
48 def discard(self, item):
49 try:
50 self.remove(item)
51 except KeyError:
52 pass
53
54 @classmethod
55 def _from_iterable(cls, it):
56 return set(it)