Source code for pymodule.hdf5
"""Provide custom functions to HDF5 file."""
import h5py
[docs]class MyH5(h5py.File):
[docs] @staticmethod
def new_grp(parent, name):
"""
Create a group in parent considering it already exists.
"""
if name in parent:
return parent[name]
else:
return parent.create_group(name)
[docs] @staticmethod
def new_dset(grp, name, data, ow=False, **kwargs):
"""
Create a dataset in group allowing overwriting.
"""
if name in grp:
if ow:
del grp[name]
else:
return grp[name]
grp.create_dataset(name, data=data, **kwargs)
return grp[name]
[docs] @staticmethod
def dict2attr(obj, d):
"""
:param obj: dataset or group
"""
for k, v in d.items():
obj.attrs[k] = v
return obj