From 4bbdf917ca1ea8a6a19a2ea9e5bfbe4b3ddf60dd Mon Sep 17 00:00:00 2001
From: hajipour <shajipour@cttc.es>
Date: Sun, 28 Jan 2024 17:26:48 +0100
Subject: [PATCH] bug fix: json_to_list function bug when json_str is empty
 list resolved.

---
 src/webui/service/__init__.py | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/webui/service/__init__.py b/src/webui/service/__init__.py
index 5211ad935..7146f321b 100644
--- a/src/webui/service/__init__.py
+++ b/src/webui/service/__init__.py
@@ -45,10 +45,12 @@ 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 not isinstance(data[0], dict):
+    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))]
     else:
         return [('item', str(data))]
-- 
GitLab