From b7126a7c875129b434ea50467f902b6649af96f7 Mon Sep 17 00:00:00 2001 From: Noe Brucy Date: Wed, 10 Feb 2021 12:20:15 +0100 Subject: [PATCH] [baseprocessor] self access to attribute via get_attribute and self set via set_value and set_attribute --- baseprocessor.py | 57 ++++++++++++++++++++++++++++-------------------- 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/baseprocessor.py b/baseprocessor.py index c6ffb3e..081af3a 100644 --- a/baseprocessor.py +++ b/baseprocessor.py @@ -230,6 +230,39 @@ class HDF5Container(BaseProcessor): self.close() return value + def set_value(self, node_name, data, description, unit): + open_before = self.opened + if not open_before: + self.open() + try: + self._save_data(node_name, data, description, unit) + finally: + if not open_before: + self.close() + + def get_attribute(self, node_name, attr_name): + open_before = self.opened + if not open_before: + self.open() + try: + node = self.save.get_node(node_name) + attr = node._v_attrs[attr_name] + finally: + if not open_before: + self.close() + return attr + + def set_attribute(self, node_name, attr_name, attr_value): + open_before = self.opened + if not open_before: + self.open() + try: + node = self.save.get_node(node_name) + node._v_attrs[attr_name] = attr_value + finally: + if not open_before: + self.close() + def _get_units(self, unit, data=None): """ Get real units from info files @@ -337,30 +370,6 @@ class HDF5Container(BaseProcessor): key = str(key) self.save.get_node(name_full)._v_attrs[key] = attrs[key] - def set_value(self, node_name, data, description, unit): - self.open() - try: - self._save_data(node_name, data, description, unit) - finally: - self.close() - - def get_attribute(self, node_name, attr_name): - self.open() - try: - node = self.save.get_node(node_name) - attr = node._v_attrs[attr_name] - finally: - self.close() - return attr - - def set_attribute(self, node_name, attr_name, attr_value): - self.open() - try: - node = self.save.get_node(node_name) - node._v_attrs[attr_name] = attr_value - finally: - self.close() - def _transform(self, name, transform_fn, group="/maps", **kwargs): src = self.save.get_node(group + "/" + name).read() return transform_fn(src, **kwargs)