From 07017611ee04139c5b5803d249f7a22b8ee616a8 Mon Sep 17 00:00:00 2001 From: Noe Brucy Date: Fri, 26 Aug 2022 16:01:14 +0200 Subject: [PATCH] Solve not a group bug --- baseprocessor.py | 11 +++++++++-- snapshotprocessor.py | 2 ++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/baseprocessor.py b/baseprocessor.py index 85d61e1..c70b213 100644 --- a/baseprocessor.py +++ b/baseprocessor.py @@ -9,8 +9,9 @@ from functools import partial import numpy as np import tables - from tables import HDF5ExtError +from tables.registry import class_name_dict + from params import default_params, load_params from units import U import traceback @@ -408,8 +409,14 @@ class HDF5Container(BaseProcessor): except TypeError: data = np.array([data]) + group_name = os.path.dirname(name_full) + if group_name in self.save: + group = self.save[group_name] + if not isinstance(group, class_name_dict['Group']): + self._log(f"{group_name} already there and no a group, deleting", "WARNING") + self.save.remove_node(group) self.save.create_array( - os.path.dirname(name_full), + group_name, os.path.basename(name_full), data, description, diff --git a/snapshotprocessor.py b/snapshotprocessor.py index 4d061d1..49584eb 100644 --- a/snapshotprocessor.py +++ b/snapshotprocessor.py @@ -489,6 +489,8 @@ class SnapshotProcessor(HDF5Container): self.open() if "/maps" not in self.save: self.save.create_group("/", "maps", "2D maps") + if "/hist" not in self.save: + self.save.create_group("/", "hist", "Histograms") if "/datasets" not in self.save: self.save.create_group("/", "datasets", "Complex datasets") self.save.root.maps._v_attrs.center = center