From 9f00221f85f000388b404b16d88d7192f710b305 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Al=C3=A1n=20Mu=C3=B1oz?= <alan.munoz@ed.ac.uk>
Date: Fri, 6 Jan 2023 18:46:19 +0000
Subject: [PATCH] fix(meta): cover empty case for flatten_dict

---
 src/agora/io/metadata.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/agora/io/metadata.py b/src/agora/io/metadata.py
index 8842bc96..7fde2b10 100644
--- a/src/agora/io/metadata.py
+++ b/src/agora/io/metadata.py
@@ -65,11 +65,13 @@ class MetaData:
 # Needed because HDF5 attributes do not support dictionaries
 def flatten_dict(nested_dict, separator="/"):
     """
-    Flattens nested dictionary
+    Flattens nested dictionary. If empty return as-is.
     """
-    df = pd.json_normalize(nested_dict, sep=separator)
+    flattened = {}
+    if nested_dict:
+        df = pd.json_normalize(nested_dict, sep=separator)
+        flattened = df.to_dict(orient="records")[0] or {}
 
-    flattened = df.to_dict(orient="records")[0] or {}
     return flattened
 
 
-- 
GitLab