diff --git a/src/webui/service/__init__.py b/src/webui/service/__init__.py index dc653126e4e2ea51ffb4bd4d8505a76301aa76a9..b864d3549e051b54e888c80547724da14fec5f67 100644 --- a/src/webui/service/__init__.py +++ b/src/webui/service/__init__.py @@ -45,13 +45,14 @@ def json_to_list(json_str : str) -> List[Union[str, Tuple[str, str]]]: data = json.loads(json_str) except: # pylint: disable=bare-except return [('item', str(json_str))] - + if isinstance(data, dict): return [('kv', (key, value)) for key, value in data.items()] - elif isinstance(data, list) and len(data) == 1 and isinstance(data[0], dict): # BWM use-case - return [('kv', (key, value)) for key, value in data[0].items()] - elif isinstance(data, list) and all(isinstance(d, str) for d in data): - return [('item', ', '.join(data))] + elif isinstance(data, list): + if len(data) == 1 and isinstance(data[0], dict): + return [('kv', (key, value)) for key, value in data[0].items()] + else: + return [('item', ', '.join([str(d) for d in data]))] else: return [('item', str(data))]