Skip to content
Snippets Groups Projects
Commit 9249b510 authored by Florian Spreckelsen's avatar Florian Spreckelsen
Browse files

WIP: Begin dataset converter class

parent b94d7e5f
No related branches found
No related tags found
2 merge requests!160STY: styling,!143ENH: HDF5 Converter
Pipeline #37499 passed
......@@ -87,3 +87,52 @@ class H5FileConverter(SimpleFileConverter):
children.extend(__convert_attributes(ff))
return children
class H5GroupConverter(DictElementConverter):
def typecheck(self, element: StructureElement):
return isinstance(element, H5GroupElement)
def create_children(self, generalStore: GeneralStore, element: StructureElement):
if not isinstance(element.value, h5py.Group):
raise ValueError("create_children should have been called with a HDF5 Group object.")
children = []
for name, value in element.value.items():
children.append(__convert_h5_elements(value, name))
children.append(self._create_children_from_dict(element.value.attrs))
return children
class H5DatasetConverter(DictElementConverter):
def typecheck(self, element: StructureElement):
return isinstance(element, H5DatasetElement)
def create_children(self, generalStore: GeneralStore, element: StructureElement):
if not isinstance(element.value, h5py.Dataset):
raise ValueError("create_children should have been called with a HDF5 Dataset object")
return self._create_children_from_dict(element.value.attrs)
def create_records(self, values: GeneralStore, records: RecordStore, element: StructureElement):
keys_modified = []
# TODO: Create the Dataset Record that holds the reference to the HDF5
# file and its internal path to the dataset.
keys_modified.append(super().create_records(values, records, element))
return keys_modified
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment