Source code for ewoksdata.data.hdf5

import os
from contextlib import contextmanager
from typing import Optional

from silx.io import h5py_utils


[docs]@contextmanager def h5context(filename: str, h5path: Optional[str] = None, **openargs): with h5py_utils.File(filename, **openargs) as f: if h5path: yield f[h5path] else: yield f
[docs]def h5exists(filename: str, h5path: Optional[str] = None, **openargs) -> bool: if not os.path.isfile(filename): return False with h5py_utils.open_item(filename, "/", **openargs) as f: if h5path and h5path != "/": return h5path in f return True