nxstools 4.35.0__tar.gz → 4.37.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {nxstools-4.35.0 → nxstools-4.37.0}/ChangeLog +13 -1
- {nxstools-4.35.0/nxstools.egg-info → nxstools-4.37.0}/PKG-INFO +1 -1
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/h5cppwriter.py +9 -9
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/h5rediswriter.py +215 -21
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/release.py +1 -1
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/limaccd.xml +1 -1
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/limaccd_filestartnum_cb.ds.xml +1 -1
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/limaccdvds.xml +1 -1
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/limaccdvds_filestartnum_cb.ds.xml +1 -1
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pco.xml +1 -1
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pco_filestartnum_cb.ds.xml +1 -1
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilatus.xml +1 -1
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilatus_filestartnum_cb.ds.xml +1 -1
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/prodigyremote.xml +8 -5
- {nxstools-4.35.0 → nxstools-4.37.0/nxstools.egg-info}/PKG-INFO +1 -1
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateDeviceDSDB_test.py +10 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineCPFS_test.py +6 -4
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/debian10_py2/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/debian10_py3/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/debian11_py3/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/debian12_py3/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/debian9_py2/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/debian9_py3/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/install.sh +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/run.sh +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/ubuntu18.04_py2/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/ubuntu18.04_py3/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/ubuntu20.04_py3/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/ubuntu22.04_py3/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/ubuntu23.04_py3/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/ubuntu23.10_py3/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/ubuntu24.04_py3/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.ci/ubuntu24.10_py3/Dockerfile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.flake8 +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.github/workflows/tests.yml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/.gitignore +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/COPYRIGHT +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/MANIFEST.in +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/README.rst +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/doc/Makefile +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/doc/conf.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/doc/index.rst +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/doc/make.bat +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/doc/nxscollect.rst +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/doc/nxsconfig.rst +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/doc/nxscreate.rst +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/doc/nxsdata.rst +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/doc/nxsetup.rst +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/doc/nxsfileinfo.rst +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/doc/nxstools.rst +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/man/nxscollect.1 +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/man/nxsconfig.1 +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/man/nxscreate.1 +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/man/nxsdata.1 +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/man/nxsetup.1 +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/man/nxsfileinfo.1 +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/man/nxstools.1 +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxscollect +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxsconfig +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxscreate +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxsdata +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxsetup +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxsfileinfo +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/__init__.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/filenamegenerator.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/filewriter.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/h5pywriter.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/nxsargparser.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/nxscollect.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/nxsconfig.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/nxscreate.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/nxscreator.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/nxsdata.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/nxsdevicetools.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/nxsetup.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/nxsfileinfo.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/nxsfileparser.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/nxsparser.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/nxsxml.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/ontology/__init__.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/ontology/ontology.json +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/__init__.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/absorber.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/beamtimeid.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/cobold.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/common.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/dalsa.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/dalsavds.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/datasignal.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/dcm.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/eigerdectris.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/lambdavds.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/limaccd.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/lmbd.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/marccd.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/minipix.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/mssar.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/mythen.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/pco.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/pe.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/pilatus.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/pilc.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/pilcvds.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/qbpm.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/scdataset.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/secop.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/tangovimba.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/timestamp.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/pyeval/xspress3.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/redisutils.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/__init__.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/absorber.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/absorber_foil.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/absorber_thickness.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/beamstop.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/beamtime_filename.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/beamtime_id.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/beamtimefname.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/beamtimefname.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/beamtimeid.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/beamtimeid.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/chcut.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/chcut_crystal.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/chcut_unitcalibration.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/chemical_formula.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/client_start_time.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/cobold.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/coboldhisto.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/coboldhisto_timeofflight.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/collect2.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/collect3.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/collect4.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/collect5.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/collect6.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/collection_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/collection_identifier.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/common2_common.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/common3_common.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dalsa.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dalsa_external_data.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dalsa_nxdata.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dalsavds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dalsavds_filestartnum_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dalsavds_nrexposedframes_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dalsavds_nxdata.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dalsavds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dataaxessignal.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/datasignal.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dcm.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dcm_crystal.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dcm_reflection.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/dcm_unitcalibration.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/default.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/defaultaxes.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/defaultcollection.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/defaultinstrument.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/defaultsample.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/defaultsampleidentifier.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/defaultsignal.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/description.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/descriptiontext.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/detectorlive.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger1m16vds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger1m16vds_description_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger1m16vds_nbimages_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger1m16vds_stepindex.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger1m16vds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger1m32vds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger1m32vds_description_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger1m32vds_nbimages_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger1m32vds_stepindex.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger1m32vds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger4m16vds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger4m16vds_description_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger4m16vds_nbimages_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger4m16vds_stepindex.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger4m16vds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger4m32vds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger4m32vds_description_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger4m32vds_nbimages_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger4m32vds_stepindex.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger4m32vds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger9m16vds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger9m16vds_description_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger9m16vds_nbimages_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger9m16vds_stepindex.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger9m16vds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger9m32vds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger9m32vds_description_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger9m32vds_nbimages_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger9m32vds_stepindex.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eiger9m32vds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eigerdectris.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eigerdectris_description_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eigerdectris_nbimages_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eigerdectris_stepindex.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eigerdectris_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eigerdectrismesh.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eigerdectrismesh_description_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eigerdectrismesh_nbimages_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eigerdectrismesh_stepindex.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/eigerdectrismesh_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/empty.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/end_time.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/experiment_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/groupsecop.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/groupsecop_time.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/keithley.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambda.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambda2m.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambda2m_m1_external_data.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambda2m_m1_nxdata.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambda2m_m2_external_data.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambda2m_m2_nxdata.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambda2m_m3_external_data.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambda2m_m3_nxdata.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambda_external_data.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambda_nxdata.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambdavds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambdavds_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambdavds_framenumbers_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambdavds_nxdata.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambdavds_savefilename_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambdavds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambdavdsnm.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambdavdsnm_nxdata.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/lambdavdsnm_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/limaccd_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/limaccd_postrun.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/limaccd_xpixelsize.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/limaccd_ypixelsize.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/limaccdvds_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/limaccdvds_postrun.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/limaccdvds_xpixelsize.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/limaccdvds_ypixelsize.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/maia.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/maiadimension.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/maiaflux.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/marccd.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/marccd_postrun.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/mcaxia.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/minipix.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/minipix_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/minipix_framenumbers_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/minipix_nxdata.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/minipix_savefilename_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/minipix_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/msnsar_env.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/mssar_env.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/mythen.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/mythen2.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/mythen_filestartnumber.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/mythen_postrun.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/nexdatas_configuration.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/nexdatas_version.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/parametercopymap.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pco_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pco_postrun.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/perkinelmerdetector.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/perkinelmerdetector_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/perkinelmerdetector_fileindex_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/perkinelmerdetector_postrun.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilatus100k_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilatus1m_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilatus2m_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilatus300k_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilatus6m_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilatus_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilatus_mxparameters_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilatus_postrun.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilc.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilc_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcslavevds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcslavevds_exposuretimemap.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcslavevds_value1map.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcslavevds_value2map.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcslavevds_value3map.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcslavevds_value4map.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcslavevds_value5map.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilctimeid.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilctimeid_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcvds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcvds4.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcvds_attrmap.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcvds_countermap.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcvds_encoder1map.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcvds_encoder2map.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcvds_encoder3map.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcvds_encoder4map.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pilcvds_encoder5map.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pinhole.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/pointdet.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/qbpm.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/qbpm_foil.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/sample_description.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/sample_env_links.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/sample_identifier.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/sample_log_links.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/sample_name.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/sample_nxdata.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/sampledescription.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/sampledescriptiontext.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/sampleenv_nxdata.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/samplehkl.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/sardanaenvironment.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/secop.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/secop_time.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/signal_axes.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/signal_name.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/signalname.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/singlesecop.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/singlesecop_time.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/slit.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/source.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/start_time.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/start_timestamp.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/starttime.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/starttime.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/tango.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/tangovimba.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/tangovimba_external_data.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/tangovimba_nxdata.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/title.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/undulator.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/xspress3.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools/xmltemplates/xspress3_triggermode_cb.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools.egg-info/SOURCES.txt +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools.egg-info/dependency_links.txt +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools.egg-info/not-zip-safe +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools.egg-info/requires.txt +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/nxstools.egg-info/top_level.txt +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/setup.cfg +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/setup.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/FileWriterH5CppH5PY_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/FileWriterH5Cpp_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/FileWriterH5PY_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/H5CppRedisWriter_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/H5CppWriter_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/H5PYWriter_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/MacroServer2 +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/MacroServer3 +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/MacroServerSetUp.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCollectH5Cpp_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCollectH5PY_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCollect_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSConfig_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateClientDSDB2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateClientDSDBR2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateClientDSDBR_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateClientDSDB_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateClientDSFS2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateClientDSFS3_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateClientDSFS_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateCompDB2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateCompDBR2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateCompDBR_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateCompDB_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateCompFS2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateCompFS3_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateCompFS_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateCompare_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateDeviceDSDB2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateDeviceDSDBR2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateDeviceDSDBR_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateDeviceDSFS2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateDeviceDSFS3_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateDeviceDSFS4_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateDeviceDSFS_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineCPDB2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineCPDBR2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineCPDBR_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineCPDB_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineCPFS2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineCPFS3_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineDSDB2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineDSDBE2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineDSDBE_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineDSDBR2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineDSDBR_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineDSDB_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineDSFS2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineDSFS3_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateOnlineDSFS_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreatePoolDSDB2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreatePoolDSDBR2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreatePoolDSDBR_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreatePoolDSDB_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreatePoolDSFS2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreatePoolDSFS3_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreatePoolDSFS_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreatePyEvalH5Cpp_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreatePyEvalH5PY_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateSECoPCPDB_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateSECoPCPFS_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateStdCompDB2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateStdCompDBE2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateStdCompDBE_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateStdCompDBR2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateStdCompDBR_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateStdCompDB_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateStdCompFS2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateStdCompFS3_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateStdCompFS_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateTangoDSDB2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateTangoDSDBR2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateTangoDSDBR_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateTangoDSDB_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateTangoDSFS2_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateTangoDSFS3_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreateTangoDSFS_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSCreate_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSData_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSFileInfoH5Cpp_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSFileInfoH5PY_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSFileInfo_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSTools_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/NXSetUp_test.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/ServerSetUp.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/TestPool.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/TestPoolSetUp.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/TestServer2 +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/TestServer3 +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/TestServerSetUp.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/WriterSetUp.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/__init__.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/__main__.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/checks.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/empty.json +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/empty1.json +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/metadata-group-map.lst +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/metadata-group-map2.lst +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/mymeta2_00011.fio +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/mys0_13_1_00190.fio +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/myscan_00034.scan.json +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/myscan_00034b.scan.json +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/myscan_00035.scan.json +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/myuni.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/myuni2.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/myunidy.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/myunidy2.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/secop.conf +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/secop2.conf +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/test_file.cbf +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/test_file.tif +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/test_file0.tif +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/test_file1.tif +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/test_file2.tif +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/test_file3.tif +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/test_file4.tif +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/test_file5.tif +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/files/tn.png +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/main.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/nxsextrasp00/__init__.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/nxsextrasp00/collect4.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/nxsextrasp00/common4_common.ds.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/test/nxsextrasp00/mymca.xml +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/tests/simpleXMLAScan.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/tests/simpleXMLCScan.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/tests/simpleXMLScan.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/tests/testNXSxml.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/tests/testXMLCreator.py +0 -0
- {nxstools-4.35.0 → nxstools-4.37.0}/tests/testXMLtrigger.py +0 -0
|
@@ -1,5 +1,17 @@
|
|
|
1
|
+
2026-01-22 Jan Kotanski <jankotan@gmail.com>
|
|
2
|
+
* ensure filestartnum is int (#850)
|
|
3
|
+
* tagged as v4.37.0
|
|
4
|
+
|
|
5
|
+
2025-12-11 Jan Kotanski <jankotan@gmail.com>
|
|
6
|
+
* add caching of attribute values for h5redis writer (#848)
|
|
7
|
+
* tagged as v4.36.0
|
|
8
|
+
|
|
9
|
+
2025-12-11 Jan Kotanski <jankotan@gmail.com>
|
|
10
|
+
* add prodigyremote component (#845)
|
|
11
|
+
* tagged as v4.35.1
|
|
12
|
+
|
|
1
13
|
2025-12-08 Jan Kotanski <jankotan@gmail.com>
|
|
2
|
-
*
|
|
14
|
+
* add prodigyremote component (#842)
|
|
3
15
|
* tagged as v4.35.0
|
|
4
16
|
|
|
5
17
|
2025-11-27 Jan Kotanski <jankotan@gmail.com>
|
|
@@ -1196,7 +1196,7 @@ class H5CppField(filewriter.FTField):
|
|
|
1196
1196
|
v = v[0, :, :]
|
|
1197
1197
|
shape = v.shape
|
|
1198
1198
|
if len(shape) == 2 and shape[1] == 1:
|
|
1199
|
-
# v.reshape([shape[0]]
|
|
1199
|
+
# v.reshape([shape[0]]]
|
|
1200
1200
|
v = v[0, :]
|
|
1201
1201
|
shape = v.shape
|
|
1202
1202
|
if len(shape) == 2 and shape[0] == 1:
|
|
@@ -1941,12 +1941,12 @@ class H5CppAttribute(filewriter.FTAttribute):
|
|
|
1941
1941
|
(hasattr(o, "__len__") and t == slice(0, len(o), None)):
|
|
1942
1942
|
if self.dtype in ['string', b'string']:
|
|
1943
1943
|
if isinstance(o, str):
|
|
1944
|
-
self.
|
|
1944
|
+
self.write(unicode(o))
|
|
1945
1945
|
else:
|
|
1946
1946
|
dtype = npunicode
|
|
1947
|
-
self.
|
|
1947
|
+
self.write(np.array(o, dtype=dtype))
|
|
1948
1948
|
else:
|
|
1949
|
-
self.
|
|
1949
|
+
self.write(np.array(o, dtype=self.dtype))
|
|
1950
1950
|
elif isinstance(t, slice):
|
|
1951
1951
|
var = self._h5object.read()
|
|
1952
1952
|
if self.dtype not in ['string', b'string']:
|
|
@@ -1956,11 +1956,11 @@ class H5CppAttribute(filewriter.FTAttribute):
|
|
|
1956
1956
|
var[t] = np.array(o, dtype=dtype)
|
|
1957
1957
|
var = var.astype(dtype)
|
|
1958
1958
|
try:
|
|
1959
|
-
self.
|
|
1959
|
+
self.write(var)
|
|
1960
1960
|
except Exception:
|
|
1961
1961
|
dtype = npunicode
|
|
1962
1962
|
tvar = np.array(var, dtype=dtype)
|
|
1963
|
-
self.
|
|
1963
|
+
self.write(tvar)
|
|
1964
1964
|
|
|
1965
1965
|
elif isinstance(t, tuple):
|
|
1966
1966
|
var = self._h5object.read()
|
|
@@ -1980,12 +1980,12 @@ class H5CppAttribute(filewriter.FTAttribute):
|
|
|
1980
1980
|
else:
|
|
1981
1981
|
var[t] = np.array(o, dtype=self.dtype).tolist()
|
|
1982
1982
|
var = var.astype(dtype)
|
|
1983
|
-
self.
|
|
1983
|
+
self.write(var)
|
|
1984
1984
|
else:
|
|
1985
1985
|
if isinstance(o, str) or isinstance(o, unicode):
|
|
1986
|
-
self.
|
|
1986
|
+
self.write(unicode(o))
|
|
1987
1987
|
else:
|
|
1988
|
-
self.
|
|
1988
|
+
self.write(np.array(o, dtype=self.dtype))
|
|
1989
1989
|
|
|
1990
1990
|
def __getitem__(self, t):
|
|
1991
1991
|
""" read attribute value
|
|
@@ -1010,6 +1010,32 @@ class H5RedisGroup(H5Group):
|
|
|
1010
1010
|
raise Exception("Undefined constructor parameters")
|
|
1011
1011
|
H5Group.__init__(self, h5object, tparent)
|
|
1012
1012
|
self.__nxclass = nxclass
|
|
1013
|
+
self.__avcache_lock = threading.Lock()
|
|
1014
|
+
self.__avcache = {}
|
|
1015
|
+
|
|
1016
|
+
def set_attr_value(self, name, value):
|
|
1017
|
+
""" set device parameters
|
|
1018
|
+
|
|
1019
|
+
:param name: attribute name
|
|
1020
|
+
:type name: :obj:`str`
|
|
1021
|
+
:param value: attribute value
|
|
1022
|
+
:type value: :obj:`any`
|
|
1023
|
+
"""
|
|
1024
|
+
with self.__avcache_lock:
|
|
1025
|
+
self.__avcache[name] = value
|
|
1026
|
+
|
|
1027
|
+
def get_attr_value(self, name):
|
|
1028
|
+
""" get scan info parameters
|
|
1029
|
+
|
|
1030
|
+
:param name: attribute name
|
|
1031
|
+
:type name: :obj:`str`
|
|
1032
|
+
:returns value: attribute value
|
|
1033
|
+
:rtype value: :obj:`any`
|
|
1034
|
+
"""
|
|
1035
|
+
with self.__avcache_lock:
|
|
1036
|
+
# print(self.__avcache)
|
|
1037
|
+
vl = self.__avcache.get(name, None)
|
|
1038
|
+
return vl
|
|
1013
1039
|
|
|
1014
1040
|
def open(self, name):
|
|
1015
1041
|
""" open a file tree element
|
|
@@ -1235,10 +1261,14 @@ class H5RedisGroup(H5Group):
|
|
|
1235
1261
|
self.set_insname(n)
|
|
1236
1262
|
if REDIS and nxclass in ["NXentry", u'NXentry']:
|
|
1237
1263
|
self.reset_scaninfo(n)
|
|
1238
|
-
|
|
1264
|
+
gr = H5RedisGroup(
|
|
1239
1265
|
h5imp=H5Group.create_group(self, n, nxclass),
|
|
1240
1266
|
nxclass=nxclass)
|
|
1241
1267
|
|
|
1268
|
+
# print("CREATE", "NX_class", nxclass)
|
|
1269
|
+
self.set_attr_value("NX_class", nxclass)
|
|
1270
|
+
return gr
|
|
1271
|
+
|
|
1242
1272
|
def create_virtual_field(self, name, layout, fillvalue=0):
|
|
1243
1273
|
""" creates a virtual filed tres element
|
|
1244
1274
|
|
|
@@ -1354,6 +1384,43 @@ class H5RedisField(H5Field):
|
|
|
1354
1384
|
self.__jstream = None
|
|
1355
1385
|
self.__rstream = None
|
|
1356
1386
|
self.__rcounter = 0
|
|
1387
|
+
self.__avcache_lock = threading.Lock()
|
|
1388
|
+
self.__avcache = {}
|
|
1389
|
+
|
|
1390
|
+
def set_attr_value(self, name, value):
|
|
1391
|
+
""" set device parameters
|
|
1392
|
+
|
|
1393
|
+
:param name: attribute name
|
|
1394
|
+
:type name: :obj:`str`
|
|
1395
|
+
:param value: attribute value
|
|
1396
|
+
:type value: :obj:`any`
|
|
1397
|
+
"""
|
|
1398
|
+
with self.__avcache_lock:
|
|
1399
|
+
self.__avcache[name] = value
|
|
1400
|
+
|
|
1401
|
+
def get_attr_value(self, name):
|
|
1402
|
+
""" get scan info parameters
|
|
1403
|
+
|
|
1404
|
+
:param name: attribute name
|
|
1405
|
+
:type name: :obj:`str`
|
|
1406
|
+
:returns value: attribute value
|
|
1407
|
+
:rtype value: :obj:`any`
|
|
1408
|
+
"""
|
|
1409
|
+
with self.__avcache_lock:
|
|
1410
|
+
vl = self.__avcache.get(name, None)
|
|
1411
|
+
return vl
|
|
1412
|
+
|
|
1413
|
+
def get_attrs(self):
|
|
1414
|
+
""" get scan info parameters
|
|
1415
|
+
|
|
1416
|
+
:param name: attribute name
|
|
1417
|
+
:type name: :obj:`str`
|
|
1418
|
+
:returns value: attribute value
|
|
1419
|
+
:rtype value: :obj:`any`
|
|
1420
|
+
"""
|
|
1421
|
+
with self.__avcache_lock:
|
|
1422
|
+
vl = dict(self.__avcache)
|
|
1423
|
+
return vl
|
|
1357
1424
|
|
|
1358
1425
|
def append_stream(self, name, stream):
|
|
1359
1426
|
""" scan object
|
|
@@ -1511,7 +1578,7 @@ class H5RedisField(H5Field):
|
|
|
1511
1578
|
h5imp=super(H5RedisField, self).attributes)
|
|
1512
1579
|
|
|
1513
1580
|
def __set_step_channel_info(self, dsname, units, shape, strategy="STEP",
|
|
1514
|
-
o=None):
|
|
1581
|
+
o=None, av=None):
|
|
1515
1582
|
""" set step channel info
|
|
1516
1583
|
|
|
1517
1584
|
:param dsname: datasource name
|
|
@@ -1525,6 +1592,7 @@ class H5RedisField(H5Field):
|
|
|
1525
1592
|
:param o: object value to write
|
|
1526
1593
|
:type o: :obj:`any`
|
|
1527
1594
|
"""
|
|
1595
|
+
av = av or {}
|
|
1528
1596
|
attrs = self.attributes
|
|
1529
1597
|
sds = {
|
|
1530
1598
|
"name": dsname,
|
|
@@ -1541,8 +1609,8 @@ class H5RedisField(H5Field):
|
|
|
1541
1609
|
anames = [at.name for at in attrs]
|
|
1542
1610
|
for key, vl in attrdesc.items():
|
|
1543
1611
|
if vl[0] in anames:
|
|
1544
|
-
|
|
1545
|
-
|
|
1612
|
+
avl = av[vl[0]] if vl[0] in av.keys() else attrs[vl[0]].read()
|
|
1613
|
+
sds[key] = vl[1](filewriter.first(avl))
|
|
1546
1614
|
sds["nexus_path"] = self.path
|
|
1547
1615
|
self.append_scaninfo(sds, ["datadesc", dsname])
|
|
1548
1616
|
try:
|
|
@@ -1665,7 +1733,7 @@ class H5RedisField(H5Field):
|
|
|
1665
1733
|
else:
|
|
1666
1734
|
raise
|
|
1667
1735
|
|
|
1668
|
-
def __set_init_channel_info(self, dsname, units, shape, strategy, o):
|
|
1736
|
+
def __set_init_channel_info(self, dsname, units, shape, strategy, o, av):
|
|
1669
1737
|
""" set init channel info
|
|
1670
1738
|
|
|
1671
1739
|
:param dsname: datasource name
|
|
@@ -1691,8 +1759,8 @@ class H5RedisField(H5Field):
|
|
|
1691
1759
|
anames = [at.name for at in attrs]
|
|
1692
1760
|
for key, vl in attrdesc.items():
|
|
1693
1761
|
if vl[0] in anames:
|
|
1694
|
-
|
|
1695
|
-
|
|
1762
|
+
avl = av[vl[0]] if vl[0] in av.keys() else attrs[vl[0]].read()
|
|
1763
|
+
ids[key] = vl[1](filewriter.first(avl))
|
|
1696
1764
|
ids["nexus_path"] = self.path
|
|
1697
1765
|
pars = (self.get_scaninfo(["snapshot"]) or {}).keys()
|
|
1698
1766
|
dsn = dsname
|
|
@@ -1710,11 +1778,12 @@ class H5RedisField(H5Field):
|
|
|
1710
1778
|
np = str(filewriter.first(attrs[vl[0]].read()))
|
|
1711
1779
|
if vl[2] or np:
|
|
1712
1780
|
self.set_scaninfo(np, [key])
|
|
1713
|
-
|
|
1781
|
+
# print(key, np)
|
|
1782
|
+
if key == "title" and isinstance(np, str):
|
|
1714
1783
|
macro_name = np.split(" ")[0]
|
|
1715
|
-
|
|
1716
|
-
|
|
1717
|
-
|
|
1784
|
+
for mn, plot in titleplots.items():
|
|
1785
|
+
if mn in macro_name:
|
|
1786
|
+
self.append_scaninfo(plot, ["plots"])
|
|
1718
1787
|
|
|
1719
1788
|
except Exception as e:
|
|
1720
1789
|
print(str(e))
|
|
@@ -1726,18 +1795,31 @@ class H5RedisField(H5Field):
|
|
|
1726
1795
|
:param o: object value to write
|
|
1727
1796
|
:type o: :obj:`any`
|
|
1728
1797
|
"""
|
|
1729
|
-
|
|
1730
1798
|
attrs = self.attributes
|
|
1731
|
-
|
|
1799
|
+
av = self.get_attrs()
|
|
1800
|
+
strategy = av.get("nexdatas_strategy", None)
|
|
1801
|
+
if strategy is None:
|
|
1802
|
+
strategy = attrs["nexdatas_strategy"].read()
|
|
1803
|
+
strategy = filewriter.first(strategy)
|
|
1732
1804
|
dsname = "%s_%s" % (self._tparent.name, self.name)
|
|
1733
1805
|
dsnm = ""
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1806
|
+
dsnm = av.get("nexdatas_source", None)
|
|
1807
|
+
if dsnm is None and "nexdatas_source" in attrs.names():
|
|
1808
|
+
# dsnm = self.get_attr_value("nexdatas_source")
|
|
1809
|
+
# if dsnm is None:
|
|
1810
|
+
dsnm = attrs["nexdatas_source"].read()
|
|
1811
|
+
if dsnm is not None:
|
|
1812
|
+
dsnm = getdsname(filewriter.first(dsnm))
|
|
1737
1813
|
dsname = dsnm
|
|
1738
|
-
units = ""
|
|
1739
|
-
if
|
|
1740
|
-
units
|
|
1814
|
+
units = av.get("units", None)
|
|
1815
|
+
if units is None:
|
|
1816
|
+
if "units" in attrs.names():
|
|
1817
|
+
units = attrs["units"].read()
|
|
1818
|
+
print("READ UNIT", units)
|
|
1819
|
+
if units is not None:
|
|
1820
|
+
units = filewriter.first(units)
|
|
1821
|
+
else:
|
|
1822
|
+
units = ""
|
|
1741
1823
|
self.__dsname = dsname
|
|
1742
1824
|
shape = []
|
|
1743
1825
|
if hasattr(o, "shape"):
|
|
@@ -1749,9 +1831,10 @@ class H5RedisField(H5Field):
|
|
|
1749
1831
|
if strategy in ["STEP"] and dsnm:
|
|
1750
1832
|
# skip 2D images
|
|
1751
1833
|
if not shape or len(shape) < 2 or FileStream is not None:
|
|
1752
|
-
self.__set_step_channel_info(
|
|
1834
|
+
self.__set_step_channel_info(
|
|
1835
|
+
dsname, units, shape, strategy, o, av)
|
|
1753
1836
|
else:
|
|
1754
|
-
self.__set_init_channel_info(dsname, units, shape, strategy, o)
|
|
1837
|
+
self.__set_init_channel_info(dsname, units, shape, strategy, o, av)
|
|
1755
1838
|
|
|
1756
1839
|
def __setitem__(self, t, o):
|
|
1757
1840
|
""" set value
|
|
@@ -1799,6 +1882,31 @@ class H5RedisLink(H5Link):
|
|
|
1799
1882
|
if h5object is None:
|
|
1800
1883
|
raise Exception("Undefined constructor parameters")
|
|
1801
1884
|
H5Link.__init__(self, h5object, tparent)
|
|
1885
|
+
self.__avcache_lock = threading.Lock()
|
|
1886
|
+
self.__avcache = {}
|
|
1887
|
+
|
|
1888
|
+
def set_attr_value(self, name, value):
|
|
1889
|
+
""" set device parameters
|
|
1890
|
+
|
|
1891
|
+
:param name: attribute name
|
|
1892
|
+
:type name: :obj:`str`
|
|
1893
|
+
:param value: attribute value
|
|
1894
|
+
:type value: :obj:`any`
|
|
1895
|
+
"""
|
|
1896
|
+
with self.__avcache_lock:
|
|
1897
|
+
self.__avcache[name] = value
|
|
1898
|
+
|
|
1899
|
+
def get_attr_value(self, name):
|
|
1900
|
+
""" get scan info parameters
|
|
1901
|
+
|
|
1902
|
+
:param name: attribute name
|
|
1903
|
+
:type name: :obj:`str`
|
|
1904
|
+
:returns value: attribute value
|
|
1905
|
+
:rtype value: :obj:`any`
|
|
1906
|
+
"""
|
|
1907
|
+
with self.__avcache_lock:
|
|
1908
|
+
vl = self.__avcache.get(name, None)
|
|
1909
|
+
return vl
|
|
1802
1910
|
|
|
1803
1911
|
|
|
1804
1912
|
class H5RedisDataFilter(H5DataFilter):
|
|
@@ -2096,6 +2204,8 @@ class H5RedisAttributeManager(H5AttributeManager):
|
|
|
2096
2204
|
:returns: attribute object
|
|
2097
2205
|
:rtype: :class:`H5RedisAttribute`
|
|
2098
2206
|
"""
|
|
2207
|
+
if overwrite:
|
|
2208
|
+
self.set_attr_value(name, None)
|
|
2099
2209
|
return H5RedisAttribute(
|
|
2100
2210
|
h5imp=H5AttributeManager.create(
|
|
2101
2211
|
self, name, dtype, shape, overwrite))
|
|
@@ -2111,6 +2221,28 @@ class H5RedisAttributeManager(H5AttributeManager):
|
|
|
2111
2221
|
return H5RedisAttribute(
|
|
2112
2222
|
h5imp=H5AttributeManager.__getitem__(self, name))
|
|
2113
2223
|
|
|
2224
|
+
def set_attr_value(self, name, value):
|
|
2225
|
+
""" set device parameters
|
|
2226
|
+
|
|
2227
|
+
:param name: attribute name
|
|
2228
|
+
:type name: :obj:`str`
|
|
2229
|
+
:param value: attribute value
|
|
2230
|
+
:type value: :obj:`any`
|
|
2231
|
+
"""
|
|
2232
|
+
if hasattr(self._tparent, "set_attr_value"):
|
|
2233
|
+
return self._tparent.set_attr_value(name, value)
|
|
2234
|
+
|
|
2235
|
+
def get_attr_value(self, name):
|
|
2236
|
+
""" get scan info parameters
|
|
2237
|
+
|
|
2238
|
+
:param name: attribute name
|
|
2239
|
+
:type name: :obj:`str`
|
|
2240
|
+
:returns value: attribute value
|
|
2241
|
+
:rtype value: :obj:`any`
|
|
2242
|
+
"""
|
|
2243
|
+
if hasattr(self._tparent, "get_attr_value"):
|
|
2244
|
+
return self._tparent.get_attr_value(name)
|
|
2245
|
+
|
|
2114
2246
|
|
|
2115
2247
|
class H5RedisAttribute(H5Attribute):
|
|
2116
2248
|
|
|
@@ -2133,3 +2265,65 @@ class H5RedisAttribute(H5Attribute):
|
|
|
2133
2265
|
if h5object is None:
|
|
2134
2266
|
raise Exception("Undefined constructor parameters")
|
|
2135
2267
|
H5Attribute.__init__(self, h5object, tparent)
|
|
2268
|
+
|
|
2269
|
+
def read(self):
|
|
2270
|
+
""" read attribute value
|
|
2271
|
+
|
|
2272
|
+
:returns: python object
|
|
2273
|
+
:rtype: :obj:`any`
|
|
2274
|
+
"""
|
|
2275
|
+
vl = None
|
|
2276
|
+
if H5CPP:
|
|
2277
|
+
vl = self.get_attr_value(self.name)
|
|
2278
|
+
# print("READ", self.name, vl)
|
|
2279
|
+
if vl is None:
|
|
2280
|
+
# print("READ", self.name, vl)
|
|
2281
|
+
vl = self._h5object.read()
|
|
2282
|
+
# print("READ2", self.name, vl)
|
|
2283
|
+
if vl is not None:
|
|
2284
|
+
self.set_attr_value(self.name, vl)
|
|
2285
|
+
if self.dtype in ['string', b'string']:
|
|
2286
|
+
try:
|
|
2287
|
+
vl = vl.decode('UTF-8')
|
|
2288
|
+
except Exception:
|
|
2289
|
+
pass
|
|
2290
|
+
return vl
|
|
2291
|
+
|
|
2292
|
+
def write(self, o):
|
|
2293
|
+
""" write attribute value
|
|
2294
|
+
|
|
2295
|
+
:param o: python object
|
|
2296
|
+
:type o: :obj:`any`
|
|
2297
|
+
"""
|
|
2298
|
+
self._h5object.write(o)
|
|
2299
|
+
vl = o
|
|
2300
|
+
if vl is not None and H5CPP:
|
|
2301
|
+
if self.dtype in ['string', b'string']:
|
|
2302
|
+
try:
|
|
2303
|
+
vl = vl.decode('UTF-8')
|
|
2304
|
+
except Exception:
|
|
2305
|
+
pass
|
|
2306
|
+
# print("WRITE", self.name, vl)
|
|
2307
|
+
self.set_attr_value(self.name, vl)
|
|
2308
|
+
|
|
2309
|
+
def set_attr_value(self, name, value):
|
|
2310
|
+
""" set device parameters
|
|
2311
|
+
|
|
2312
|
+
:param name: attribute name
|
|
2313
|
+
:type name: :obj:`str`
|
|
2314
|
+
:param value: attribute value
|
|
2315
|
+
:type value: :obj:`any`
|
|
2316
|
+
"""
|
|
2317
|
+
if hasattr(self._tparent, "set_attr_value"):
|
|
2318
|
+
return self._tparent.set_attr_value(name, value)
|
|
2319
|
+
|
|
2320
|
+
def get_attr_value(self, name):
|
|
2321
|
+
""" get scan info parameters
|
|
2322
|
+
|
|
2323
|
+
:param name: attribute name
|
|
2324
|
+
:type name: :obj:`str`
|
|
2325
|
+
:returns value: attribute value
|
|
2326
|
+
:rtype value: :obj:`any`
|
|
2327
|
+
"""
|
|
2328
|
+
if hasattr(self._tparent, "get_attr_value"):
|
|
2329
|
+
return self._tparent.get_attr_value(name)
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<field type="NX_CHAR" name="last_image_saved">
|
|
47
47
|
<strategy mode="FINAL"/>$datasources.$(name)_last_image_saved</field>
|
|
48
48
|
<field type="NX_UINT" name="signal">1</field>
|
|
49
|
-
<field type="
|
|
49
|
+
<field type="NX_INT64" name="file_index_num">
|
|
50
50
|
<strategy mode="STEP"/>$datasources.$(name)_filestartnum_cb</field>
|
|
51
51
|
<field type="NX_CHAR" name="image_type">
|
|
52
52
|
<strategy mode="FINAL"/>$datasources.$(name)_image_type</field>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<datasource type="PYEVAL" name="$(name)_filestartnum_cb">
|
|
4
4
|
<result name="result">
|
|
5
5
|
from nxstools.pyeval import common
|
|
6
|
-
ds.result = common.filestartnum_cb(commonblock, ds.$(name)_saving_next_number, ds.$(name)_acq_nb_frames, "$(name)_saving_next_number")
|
|
6
|
+
ds.result = common.filestartnum_cb(commonblock, int(ds.$(name)_saving_next_number or 0), ds.$(name)_acq_nb_frames, "$(name)_saving_next_number")
|
|
7
7
|
</result>
|
|
8
8
|
$datasources.$(name)_saving_next_number
|
|
9
9
|
$datasources.$(name)_acq_nb_frames</datasource>
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
<field type="NX_CHAR" name="last_image_saved">
|
|
47
47
|
<strategy mode="FINAL"/>$datasources.$(name)_last_image_saved</field>
|
|
48
48
|
<field type="NX_UINT" name="signal">1</field>
|
|
49
|
-
<field type="
|
|
49
|
+
<field type="NX_INT64" name="next_file_index_num">
|
|
50
50
|
<strategy mode="STEP"/>$datasources.$(name)_filestartnum_cb</field>
|
|
51
51
|
<field type="NX_CHAR" name="image_type">
|
|
52
52
|
<strategy mode="FINAL"/>$datasources.$(name)_image_type</field>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<datasource type="PYEVAL" name="$(name)_filestartnum_cb">
|
|
4
4
|
<result name="result">
|
|
5
5
|
from nxstools.pyeval import common
|
|
6
|
-
ds.result = common.filestartnum_cb(commonblock, ds.$(name)_saving_next_number, 0, "$(name)_saving_next_number")
|
|
6
|
+
ds.result = common.filestartnum_cb(commonblock, int(ds.$(name)_saving_next_number or 0), 0, "$(name)_saving_next_number")
|
|
7
7
|
</result>
|
|
8
8
|
$datasources.$(name)_saving_next_number</datasource>
|
|
9
9
|
</definition>
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
<strategy mode="FINAL"/>$datasources.$(name)_filepostfix</field>
|
|
51
51
|
<field type="NX_CHAR" name="file_prefix">
|
|
52
52
|
<strategy mode="FINAL"/>$datasources.$(name)_fileprefix</field>
|
|
53
|
-
<field type="
|
|
53
|
+
<field type="NX_INT64" name="file_last_num">
|
|
54
54
|
<strategy mode="STEP"/>$datasources.$(name)_filestartnum_cb</field>
|
|
55
55
|
<field units="Celsius" type="NX_INT16" name="cooling_temp_set">
|
|
56
56
|
<strategy mode="FINAL"/>$datasources.$(name)_coolingtempset</field>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<datasource type="PYEVAL" name="$(name)_filestartnum_cb">
|
|
4
4
|
<result name="result">
|
|
5
5
|
from nxstools.pyeval import common
|
|
6
|
-
ds.result = common.filestartnum_cb(commonblock, ds.$(name)_filestartnum, ds.$(name)_nbframes, "$(name)_filestartnum")
|
|
6
|
+
ds.result = common.filestartnum_cb(commonblock, int(ds.$(name)_filestartnum or 0), ds.$(name)_nbframes, "$(name)_filestartnum")
|
|
7
7
|
</result>
|
|
8
8
|
$datasources.$(name)_filestartnum
|
|
9
9
|
$datasources.$(name)_nbframes</datasource>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
<field type="NX_CHAR" name="last_image_taken">
|
|
31
31
|
<strategy mode="FINAL"/>$datasources.$(name)_lastimagetaken</field>
|
|
32
32
|
<field type="NX_UINT" name="signal">1</field>
|
|
33
|
-
<field type="
|
|
33
|
+
<field type="NX_INT64" name="file_start_index_num">
|
|
34
34
|
<strategy mode="STEP"/>$datasources.$(name)_filestartnum_cb</field>
|
|
35
35
|
<field type="NX_CHAR" name="mx_parameters">
|
|
36
36
|
<strategy mode="FINAL"/>$datasources.$(name)_mxparameters_cb</field>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
<datasource type="PYEVAL" name="$(name)_filestartnum_cb">
|
|
4
4
|
<result name="result">
|
|
5
5
|
from nxstools.pyeval import common
|
|
6
|
-
ds.result = common.filestartnum_cb(commonblock, ds.$(name)_filestartnum, ds.$(name)_nbframes, "$(name)_filestartnum")
|
|
6
|
+
ds.result = common.filestartnum_cb(commonblock, int(ds.$(name)_filestartnum or 0), ds.$(name)_nbframes, "$(name)_filestartnum")
|
|
7
7
|
</result>
|
|
8
8
|
$datasources.$(name)_filestartnum
|
|
9
9
|
$datasources.$(name)_nbframes
|
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
<group type="NXinstrument" name="instrument">
|
|
5
5
|
<group type="NXelectronanalyzer" name="$(name)">
|
|
6
6
|
<group type="NXelectron_detector" name="electron_detector">
|
|
7
|
-
<group type="NXdata" name="raw_data"
|
|
7
|
+
<group type="NXdata" name="raw_data">
|
|
8
|
+
<attribute type="NX_CHAR" name="signal">
|
|
9
|
+
<strategy mode="INIT"/>raw
|
|
10
|
+
</attribute>
|
|
8
11
|
<field type="NX_FLOAT64" name="raw">
|
|
9
12
|
<strategy mode="STEP"/>$datasources.$(name)_integratedspectrum<dimensions rank="1"/>
|
|
10
13
|
</field>
|
|
@@ -49,8 +52,8 @@
|
|
|
49
52
|
<strategy mode="FINAL"/>$datasources.$(name)_dwelltime</field>
|
|
50
53
|
<field type="NX_INT64" name="number_of_acquired_points">
|
|
51
54
|
<strategy mode="FINAL"/>$datasources.$(name)_numberofacquiredpoints</field>
|
|
52
|
-
<field type="NX_INT64" name="
|
|
53
|
-
<strategy mode="FINAL"/>$datasources.$(name)
|
|
55
|
+
<field type="NX_INT64" name="expected_number_of_points">
|
|
56
|
+
<strategy mode="FINAL"/>$datasources.$(name)_expectednumberofpoints</field>
|
|
54
57
|
<field type="NX_INT64" name="samples">
|
|
55
58
|
<strategy mode="FINAL"/>$datasources.$(name)_samples</field>
|
|
56
59
|
<field type="NX_FLOAT64" name="retarding_ratio">
|
|
@@ -67,8 +70,8 @@
|
|
|
67
70
|
</group>
|
|
68
71
|
</group>
|
|
69
72
|
<group type="NXdata" name="data">
|
|
70
|
-
<link target="/scan$var.serialno/instrument/$(name)/electron_detector/raw
|
|
71
|
-
<link target="/scan$var.serialno/instrument/$(name)/electron_detector/
|
|
73
|
+
<link target="/scan$var.serialno/instrument/$(name)/electron_detector/raw_data/raw" name="$(name)_integratedspectrum"/>
|
|
74
|
+
<link target="/scan$var.serialno/instrument/$(name)/electron_detector/raw_data/energy" name="$(name)_energy"/>
|
|
72
75
|
<link target="/scan$var.serialno/instrument/$(name)/electron_detector/data" name="$(name)_fullspectrum"/>
|
|
73
76
|
</group>
|
|
74
77
|
</group>
|
|
@@ -178,6 +178,7 @@ class NXSCreateDeviceDSDBTest(
|
|
|
178
178
|
['testcs_jsonsettings',
|
|
179
179
|
'testcs_selection',
|
|
180
180
|
'testcs_xmlstring',
|
|
181
|
+
'testcs_xmlcache',
|
|
181
182
|
'testcs_variables',
|
|
182
183
|
'testcs_linkdatasources',
|
|
183
184
|
'testcs_extralinkdatasources',
|
|
@@ -215,6 +216,15 @@ class NXSCreateDeviceDSDBTest(
|
|
|
215
216
|
'</definition>\n',
|
|
216
217
|
'<?xml version=\'1.0\' encoding=\'utf8\'?>\n'
|
|
217
218
|
'<definition>\n'
|
|
219
|
+
' <datasource type="TANGO" name="testcs_xmlcache">\n'
|
|
220
|
+
' <device name="%s" '
|
|
221
|
+
'member="attribute" hostname="%s" port="%s"'
|
|
222
|
+
' group="testcs_"/>\n'
|
|
223
|
+
' <record name="XMLCache"/>\n'
|
|
224
|
+
' </datasource>\n'
|
|
225
|
+
'</definition>\n',
|
|
226
|
+
'<?xml version=\'1.0\' encoding=\'utf8\'?>\n'
|
|
227
|
+
'<definition>\n'
|
|
218
228
|
' <datasource type="TANGO" name="testcs_variables">\n'
|
|
219
229
|
' <device name="%s" '
|
|
220
230
|
'member="attribute" hostname="%s" port="%s"'
|
|
@@ -652,7 +652,7 @@ class NXSCreateOnlineCPFSTest(unittest.TestCase):
|
|
|
652
652
|
'$datasources.mypilatus_lastimagetaken</field>\n'
|
|
653
653
|
' <field type="NX_UINT" '
|
|
654
654
|
'name="signal">1</field>\n'
|
|
655
|
-
' <field type="
|
|
655
|
+
' <field type="NX_INT64" '
|
|
656
656
|
'name="file_start_index_num">\n'
|
|
657
657
|
' <strategy mode="STEP"/>'
|
|
658
658
|
'$datasources.mypilatus_filestartnum_cb</field>\n'
|
|
@@ -755,7 +755,8 @@ class NXSCreateOnlineCPFSTest(unittest.TestCase):
|
|
|
755
755
|
' <result name="result">\n'
|
|
756
756
|
'from nxstools.pyeval import common\n'
|
|
757
757
|
'ds.result = common.filestartnum_cb('
|
|
758
|
-
'commonblock,
|
|
758
|
+
'commonblock,'
|
|
759
|
+
' int(ds.mypilatus_filestartnum or 0),'
|
|
759
760
|
' ds.mypilatus_nbframes,'
|
|
760
761
|
' "mypilatus_filestartnum")\n'
|
|
761
762
|
' </result>\n'
|
|
@@ -970,7 +971,7 @@ class NXSCreateOnlineCPFSTest(unittest.TestCase):
|
|
|
970
971
|
'$datasources.mypilatus_lastimagetaken</field>\n'
|
|
971
972
|
' <field type="NX_UINT" '
|
|
972
973
|
'name="signal">1</field>\n'
|
|
973
|
-
' <field type="
|
|
974
|
+
' <field type="NX_INT64" '
|
|
974
975
|
'name="file_start_index_num">\n'
|
|
975
976
|
' <strategy mode="STEP"/>'
|
|
976
977
|
'$datasources.mypilatus_filestartnum_cb</field>\n'
|
|
@@ -1073,7 +1074,8 @@ class NXSCreateOnlineCPFSTest(unittest.TestCase):
|
|
|
1073
1074
|
' <result name="result">\n'
|
|
1074
1075
|
'from nxstools.pyeval import common\n'
|
|
1075
1076
|
'ds.result = common.filestartnum_cb('
|
|
1076
|
-
'commonblock,
|
|
1077
|
+
'commonblock, '
|
|
1078
|
+
'int(ds.mypilatus_filestartnum or 0),'
|
|
1077
1079
|
' ds.mypilatus_nbframes,'
|
|
1078
1080
|
' "mypilatus_filestartnum")\n'
|
|
1079
1081
|
' </result>\n'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|