diff options
author | Théo de la Hogue | 2024-01-30 17:01:37 +0100 |
---|---|---|
committer | Théo de la Hogue | 2024-01-30 17:01:37 +0100 |
commit | 719e1db3c07d0339acdc927fb6f66f8c2b9faa30 (patch) | |
tree | dc144d9f7510bbbaecdee19d94c4a428a977daa1 /src | |
parent | 108222e9e13626291ede1fbe94847ba69261a4bf (diff) | |
download | argaze-719e1db3c07d0339acdc927fb6f66f8c2b9faa30.zip argaze-719e1db3c07d0339acdc927fb6f66f8c2b9faa30.tar.gz argaze-719e1db3c07d0339acdc927fb6f66f8c2b9faa30.tar.bz2 argaze-719e1db3c07d0339acdc927fb6f66f8c2b9faa30.tar.xz |
Fixing nested dict update.
Diffstat (limited to 'src')
-rw-r--r-- | src/argaze/DataFeatures.py | 19 |
1 files changed, 18 insertions, 1 deletions
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) |