File tree Expand file tree Collapse file tree 1 file changed +18
-16
lines changed
Expand file tree Collapse file tree 1 file changed +18
-16
lines changed Original file line number Diff line number Diff line change @@ -1774,37 +1774,39 @@ def description(self):
17741774 return desc
17751775
17761776 def validate_coerce (self , v ):
1777- def coerce (value , invalid_els ):
1777+ def coerce (value ):
17781778 if not isinstance (value , str ):
1779- invalid_els .append (value )
1780- return value
1779+ return value , False
17811780 match = fullmatch (self .regex , value )
17821781 if not match :
1783- invalid_els .append (value )
1784- return value
1782+ return value , False
17851783 else :
17861784 digit_str = match .group (1 )
17871785 if len (digit_str ) > 0 and int (digit_str ) == 0 :
1788- invalid_els .append (value )
1789- return value
1786+ return value , False
17901787 elif len (digit_str ) > 0 and int (digit_str ) == 1 :
1791- return self .base
1788+ return self .base , True
17921789 else :
1793- return value
1790+ return value , True
17941791
17951792 if v is None :
17961793 pass
17971794 elif self .array_ok and is_simple_array (v ):
1795+ values = []
17981796 invalid_els = []
1799- v = [e for e in v if coerce (e , invalid_els )]
1800- if invalid_els :
1797+ for e in v :
1798+ coerced_e , success = coerce (e )
1799+ values .append (coerced_e )
1800+ if not success :
1801+ invalid_els .append (coerced_e )
1802+ if len (invalid_els ) > 0 :
18011803 self .raise_invalid_elements (invalid_els [:10 ])
1804+ return values
18021805 else :
1803- invalid_els = []
1804- v = coerce (v , invalid_els )
1805- if invalid_els :
1806- self .raise_invalid_val (self .base )
1807- return v
1806+ v , success = coerce (v )
1807+ if not success :
1808+ self .raise_invalid_val (self .base )
1809+ return v
18081810
18091811
18101812class FlaglistValidator (BaseValidator ):
You can’t perform that action at this time.
0 commit comments