Skip to content

Commit a311719

Browse files
committed
force items in 'specs' to be either dicts or None
1 parent 67672dd commit a311719

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

plotly/tools.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,11 @@ def make_subplots(rows=1, cols=1,
705705
# Throw exception if non-valid key / fill in defaults
706706
def _check_keys_and_fill(name, arg, defaults):
707707
def _checks(item, defaults):
708+
if item is None:
709+
return
710+
if not isinstance(item, dict):
711+
raise Exception("Items in keyword argument '{name}' must be "
712+
"dictionaries or None".format(name=name))
708713
for k in item.keys():
709714
if k not in defaults.keys():
710715
raise Exception("Invalid key '{k}' in keyword "
@@ -715,8 +720,7 @@ def _checks(item, defaults):
715720
for arg_i in arg:
716721
if isinstance(arg_i, list):
717722
for arg_ii in arg_i:
718-
if arg_ii is not None: # for specs[i][j] == None
719-
_checks(arg_ii, defaults)
723+
_checks(arg_ii, defaults)
720724
elif isinstance(arg_i, dict):
721725
_checks(arg_i, defaults)
722726

0 commit comments

Comments
 (0)