Writer (silx dicttoh5) does not support empty list (empty dataset)
It looks like the writer, or rather silx's dicttoh5
, failed to serialize metadata with an empty list -in which case the metadata entry should be skipped all together?
File "/home/blissadm/local/bliss_1.12.x/nexus_writer_service/writer/scan.py", line 466, in _save_device_metadata
self._device_dicttonx_helper(parent, metadata)
File "/home/blissadm/local/bliss_1.12.x/nexus_writer_service/writer/scan.py", line 729, in _device_dicttonx_helper
nexus.dicttonx(nxtreedict, parent, update_mode="modify", add_nx_class=True)
File "/home/blissadm/local/bliss_1.12.x/nexus_writer_service/io/nexus.py", line 1733, in dicttonx
dictdump.dicttonx(data_for_hdf5(treedict), *args, **kw)
File "/users/blissadm/conda/miniconda/envs/bliss_1.12.x_dev/lib/python3.9/site-packages/silx/io/dictdump.py", line 737, in dicttonx
dicttoh5(nxtreedict, h5file, h5path=h5path, **kw)
File "/users/blissadm/conda/miniconda/envs/bliss_1.12.x_dev/lib/python3.9/site-packages/silx/io/dictdump.py", line 325, in dicttoh5
dicttoh5(value, h5f, h5name,
File "/users/blissadm/conda/miniconda/envs/bliss_1.12.x_dev/lib/python3.9/site-packages/silx/io/dictdump.py", line 325, in dicttoh5
dicttoh5(value, h5f, h5name,
File "/users/blissadm/conda/miniconda/envs/bliss_1.12.x_dev/lib/python3.9/site-packages/silx/io/dictdump.py", line 325, in dicttoh5
dicttoh5(value, h5f, h5name,
[Previous line repeated 1 more time]
File "/users/blissadm/conda/miniconda/envs/bliss_1.12.x_dev/lib/python3.9/site-packages/silx/io/dictdump.py", line 371, in dicttoh5
raise RuntimeError(f"Failed to create dataset {h5f.name}/{h5name} with data ({data.dtype if isinstance(data, numpy.ndarray) else type(data)}) = {data}")
RuntimeError: Failed to create dataset ///112.1/instrument/bcu_simulator3//acq_params/det/generator/gauss/peaks with data ([]) = []
If the list is not empty, a compound dataset is properly created.
This is with the master
branch.