improved some corner cases in IS_IN_SET, thanks Fran
This commit is contained in:
@@ -1 +1 @@
|
|||||||
Version 1.99.7 (2012-04-06 09:01:07) dev
|
Version 1.99.7 (2012-04-06 09:12:48) dev
|
||||||
|
|||||||
+6
-5
@@ -355,15 +355,16 @@ class IS_IN_SET(Validator):
|
|||||||
def __call__(self, value):
|
def __call__(self, value):
|
||||||
if self.multiple:
|
if self.multiple:
|
||||||
### if below was values = re.compile("[\w\-:]+").findall(str(value))
|
### if below was values = re.compile("[\w\-:]+").findall(str(value))
|
||||||
if isinstance(value, (str,unicode)):
|
if not value:
|
||||||
values = [value]
|
values = []
|
||||||
elif isinstance(value, (tuple, list)):
|
elif isinstance(value, (tuple, list)):
|
||||||
values = value
|
values = value
|
||||||
elif not value:
|
else:
|
||||||
values = []
|
values = [value]
|
||||||
else:
|
else:
|
||||||
values = [value]
|
values = [value]
|
||||||
failures = [x for x in values if not x in self.theset]
|
thestrset = [str(x) for x in self.theset]
|
||||||
|
failures = [x for x in values if not str(x) in thestrset]
|
||||||
if failures and self.theset:
|
if failures and self.theset:
|
||||||
if self.multiple and (value is None or value == ''):
|
if self.multiple and (value is None or value == ''):
|
||||||
return ([], None)
|
return ([], None)
|
||||||
|
|||||||
Reference in New Issue
Block a user