Skip to content

Commit b809b46

Browse files
committed
changed helper function in SubplotidValidator
- return success instead of writing into passed array
1 parent d1993cc commit b809b46

File tree

1 file changed

+18
-16
lines changed

1 file changed

+18
-16
lines changed

_plotly_utils/basevalidators.py

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff 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

18101812
class FlaglistValidator(BaseValidator):

0 commit comments

Comments
 (0)