forked from M-Labs/artiq
browser: support datasets that use h5 group notation
Signed-off-by: Leon Riesebos <leon.riesebos@duke.edu>
This commit is contained in:
parent
b5dc9fd640
commit
386391e3f9
|
@ -188,16 +188,25 @@ class FilesDock(QtWidgets.QDockWidget):
|
|||
except:
|
||||
logger.warning("unable to read metadata from %s",
|
||||
info.filePath(), exc_info=True)
|
||||
rd = dict()
|
||||
|
||||
rd = {}
|
||||
if "archive" in f:
|
||||
rd = {k: (True, v[()]) for k, v in f["archive"].items()}
|
||||
if "datasets" in f:
|
||||
for k, v in f["datasets"].items():
|
||||
if k in rd:
|
||||
logger.warning("dataset '%s' is both in archive and "
|
||||
"outputs", k)
|
||||
def visitor(k, v):
|
||||
if isinstance(v, h5py.Dataset):
|
||||
rd[k] = (True, v[()])
|
||||
|
||||
f["archive"].visititems(visitor)
|
||||
|
||||
if "datasets" in f:
|
||||
def visitor(k, v):
|
||||
if isinstance(v, h5py.Dataset):
|
||||
if k in rd:
|
||||
logger.warning("dataset '%s' is both in archive "
|
||||
"and outputs", k)
|
||||
rd[k] = (True, v[()])
|
||||
|
||||
f["datasets"].visititems(visitor)
|
||||
|
||||
self.datasets.init(rd)
|
||||
|
||||
self.dataset_changed.emit(info.filePath())
|
||||
|
|
Loading…
Reference in New Issue