From 719e1db3c07d0339acdc927fb6f66f8c2b9faa30 Mon Sep 17 00:00:00 2001 From: Théo de la Hogue Date: Tue, 30 Jan 2024 17:01:37 +0100 Subject: Fixing nested dict update. --- src/argaze/DataFeatures.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/argaze/DataFeatures.py b/src/argaze/DataFeatures.py index 06201fe..091b551 100644 --- a/src/argaze/DataFeatures.py +++ b/src/argaze/DataFeatures.py @@ -540,7 +540,24 @@ class PipelineStepObject(): with open(patch_filepath) as patch_file: patch_data = json.load(patch_file) - object_data.update(patch_data) + + import collections.abc + + def update(d, u): + + for k, v in u.items(): + + if isinstance(v, collections.abc.Mapping): + + d[k] = update(d.get(k, {}), v) + + else: + + d[k] = v + + return d + + object_data = update(object_data, patch_data) return cls.from_dict(object_data, working_directory) -- cgit v1.1