set theory v2, now can handle non hashable items like dicts

pull/7534/head
Brian Coca 11 years ago
parent b5e91f81d8
commit 0dce5dae26

@ -140,19 +140,40 @@ def regex_replace(value='', pattern='', replacement='', ignorecase=False):
return _re.sub(replacement, value)
def unique(a):
return set(a)
try:
c = set(a)
except TypeError, e:
c = []
c = filter(lambda x: x not in c, a)
return c
def intersect(a, b):
return set(a).intersection(b)
try:
c = set(a) & set(b)
except TypeError, e:
c = filter(lambda x: x in b, a)
return c
def difference(a, b):
return set(a).difference(b)
try:
c = set(a) - set(b)
except TypeError, e:
c = filter(lambda x: x not in b, a)
return c
def symmetric_difference(a, b):
return set(a).symmetric_difference(b)
try:
c = set(a) ^ set(b)
except TypeError, e:
c = filter(lambda x: x not in intersect(a,b), union(a,b))
return c
def union(a, b):
return set(a).union(b)
try:
c = set(a) | set(b)
except TypeError, e:
c = a + b
return c
def version_compare(value, version, operator='eq', strict=False):
''' Perform a version comparison on a value '''

Loading…
Cancel
Save