X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=blobdiff_plain;f=manifold%2Futil%2Fpredicate.py;h=3b5ba80d43e509f885a3cb31e27841cc6803060e;hp=aa09379cb5b38f969847b0d2da14edfed842f8b9;hb=d68dcefd28c832608cdb359a07a8b871cbe612ae;hpb=ac2dda758798f7e44de062d370763c639cc6a375 diff --git a/manifold/util/predicate.py b/manifold/util/predicate.py index aa09379c..3b5ba80d 100644 --- a/manifold/util/predicate.py +++ b/manifold/util/predicate.py @@ -112,6 +112,7 @@ class Predicate: def get_tuple(self): return (self.key, self.op, self.value) + def get_str_op(self): op_str = [s for s, op in self.operators.iteritems() if op == self.op] return op_str[0] @@ -119,6 +120,9 @@ class Predicate: def get_str_tuple(self): return (self.key, self.get_str_op(), self.value,) + def to_list(self): + return list(self.get_str_tuple()) + def match(self, dic, ignore_missing=False): if isinstance(self.key, tuple): print "PREDICATE MATCH", self.key @@ -223,3 +227,9 @@ class Predicate: return set(self.value) else: return set([self.value]) + + def has_empty_value(self): + if isinstance(self.value, (list, tuple, set, frozenset)): + return not any(self.value) + else: + return not self.value