diff --git a/docker/routlin-dash/app/factory.py b/docker/routlin-dash/app/factory.py index 0420628..d50b9cb 100644 --- a/docker/routlin-dash/app/factory.py +++ b/docker/routlin-dash/app/factory.py @@ -216,9 +216,14 @@ def table_token_key(spec): def iter_table_items(items): for item in items: + if not isinstance(item, dict): + continue if item.get('type') == 'table': yield item - for sub in (item.get('items') or [], (item.get('toolbar') or {}).get('items') or []): + sub_items = item.get('items') + if not isinstance(sub_items, list): + sub_items = [] + for sub in (sub_items, (item.get('toolbar') or {}).get('items') or []): yield from iter_table_items(sub) # Access control ======================================================