nxstools 4.28.1__tar.gz → 4.32.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.28.1 → nxstools-4.32.0}/.ci/install.sh +5 -5
- {nxstools-4.28.1 → nxstools-4.32.0}/.github/workflows/tests.yml +1 -1
- {nxstools-4.28.1 → nxstools-4.32.0}/ChangeLog +34 -0
- {nxstools-4.28.1/nxstools.egg-info → nxstools-4.32.0}/PKG-INFO +3 -3
- {nxstools-4.28.1 → nxstools-4.32.0}/README.rst +2 -2
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/filewriter.py +3 -3
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/h5cppwriter.py +141 -58
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/h5pywriter.py +150 -59
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/h5rediswriter.py +331 -91
- nxstools-4.32.0/nxstools/pyeval/pilcvds.py +113 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/release.py +1 -1
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/__init__.py +68 -0
- nxstools-4.32.0/nxstools/xmltemplates/collection_description.ds.xml +6 -0
- nxstools-4.32.0/nxstools/xmltemplates/collection_identifier.ds.xml +6 -0
- nxstools-4.32.0/nxstools/xmltemplates/defaultcollection.xml +10 -0
- nxstools-4.32.0/nxstools/xmltemplates/defaultsampleidentifier.xml +10 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambda.xml +1 -5
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambda2m.xml +1 -5
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambdavds.xml +1 -5
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambdavdsnm.xml +1 -5
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilc.xml +1 -1
- nxstools-4.32.0/nxstools/xmltemplates/pilcvds.xml +115 -0
- nxstools-4.32.0/nxstools/xmltemplates/pilcvds4.xml +107 -0
- nxstools-4.32.0/nxstools/xmltemplates/pilcvds_attrmap.ds.xml +26 -0
- nxstools-4.32.0/nxstools/xmltemplates/pilcvds_countermap.ds.xml +14 -0
- nxstools-4.32.0/nxstools/xmltemplates/pilcvds_encoder1map.ds.xml +14 -0
- nxstools-4.32.0/nxstools/xmltemplates/pilcvds_encoder2map.ds.xml +14 -0
- nxstools-4.32.0/nxstools/xmltemplates/pilcvds_encoder3map.ds.xml +14 -0
- nxstools-4.32.0/nxstools/xmltemplates/pilcvds_encoder4map.ds.xml +14 -0
- nxstools-4.32.0/nxstools/xmltemplates/pilcvds_encoder5map.ds.xml +14 -0
- nxstools-4.32.0/nxstools/xmltemplates/sample_identifier.ds.xml +7 -0
- {nxstools-4.28.1 → nxstools-4.32.0/nxstools.egg-info}/PKG-INFO +3 -3
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools.egg-info/SOURCES.txt +15 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/H5CppRedisWriter_test.py +110 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/H5CppWriter_test.py +110 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/H5PYWriter_test.py +110 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineCPFS_test.py +9 -39
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateStdCompFS_test.py +10 -6
- {nxstools-4.28.1 → nxstools-4.32.0}/test/checks.py +4 -1
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/debian10_py2/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/debian10_py3/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/debian11_py3/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/debian12_py3/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/debian9_py2/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/debian9_py3/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/run.sh +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/ubuntu18.04_py2/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/ubuntu18.04_py3/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/ubuntu20.04_py3/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/ubuntu22.04_py3/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/ubuntu23.04_py3/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/ubuntu23.10_py3/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/ubuntu24.04_py3/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.ci/ubuntu24.10_py3/Dockerfile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.flake8 +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/.gitignore +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/COPYRIGHT +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/MANIFEST.in +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/doc/Makefile +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/doc/conf.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/doc/index.rst +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/doc/make.bat +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/doc/nxscollect.rst +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/doc/nxsconfig.rst +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/doc/nxscreate.rst +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/doc/nxsdata.rst +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/doc/nxsetup.rst +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/doc/nxsfileinfo.rst +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/doc/nxstools.rst +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/man/nxscollect.1 +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/man/nxsconfig.1 +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/man/nxscreate.1 +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/man/nxsdata.1 +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/man/nxsetup.1 +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/man/nxsfileinfo.1 +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/man/nxstools.1 +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxscollect +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxsconfig +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxscreate +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxsdata +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxsetup +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxsfileinfo +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/__init__.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/filenamegenerator.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/nxsargparser.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/nxscollect.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/nxsconfig.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/nxscreate.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/nxscreator.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/nxsdata.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/nxsdevicetools.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/nxsetup.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/nxsfileinfo.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/nxsfileparser.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/nxsparser.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/nxsxml.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/ontology/__init__.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/ontology/ontology.json +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/__init__.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/absorber.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/beamtimeid.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/cobold.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/common.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/dalsa.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/dalsavds.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/datasignal.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/dcm.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/eigerdectris.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/lambdavds.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/limaccd.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/lmbd.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/marccd.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/minipix.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/mssar.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/mythen.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/pco.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/pe.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/pilatus.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/pilc.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/qbpm.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/scdataset.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/secop.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/tangovimba.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/timestamp.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/pyeval/xspress3.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/redisutils.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/absorber.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/absorber_foil.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/absorber_thickness.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/beamstop.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/beamtime_filename.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/beamtime_id.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/beamtimefname.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/beamtimefname.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/beamtimeid.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/beamtimeid.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/chcut.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/chcut_crystal.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/chcut_unitcalibration.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/chemical_formula.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/client_start_time.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/cobold.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/coboldhisto.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/coboldhisto_timeofflight.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/collect2.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/collect3.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/collect4.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/collect5.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/collect6.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/common2_common.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/common3_common.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dalsa.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dalsa_external_data.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dalsa_nxdata.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dalsavds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dalsavds_filestartnum_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dalsavds_nrexposedframes_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dalsavds_nxdata.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dalsavds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dataaxessignal.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/datasignal.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dcm.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dcm_crystal.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dcm_reflection.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/dcm_unitcalibration.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/default.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/defaultaxes.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/defaultinstrument.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/defaultsample.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/defaultsignal.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/description.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/descriptiontext.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/detectorlive.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger1m16vds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger1m16vds_description_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger1m16vds_nbimages_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger1m16vds_stepindex.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger1m16vds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger1m32vds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger1m32vds_description_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger1m32vds_nbimages_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger1m32vds_stepindex.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger1m32vds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger4m16vds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger4m16vds_description_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger4m16vds_nbimages_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger4m16vds_stepindex.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger4m16vds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger4m32vds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger4m32vds_description_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger4m32vds_nbimages_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger4m32vds_stepindex.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger4m32vds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger9m16vds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger9m16vds_description_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger9m16vds_nbimages_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger9m16vds_stepindex.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger9m16vds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger9m32vds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger9m32vds_description_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger9m32vds_nbimages_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger9m32vds_stepindex.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eiger9m32vds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eigerdectris.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eigerdectris_description_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eigerdectris_nbimages_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eigerdectris_stepindex.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eigerdectris_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eigerdectrismesh.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eigerdectrismesh_description_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eigerdectrismesh_nbimages_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eigerdectrismesh_stepindex.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/eigerdectrismesh_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/empty.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/end_time.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/experiment_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/groupsecop.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/groupsecop_time.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/keithley.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambda2m_m1_external_data.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambda2m_m1_nxdata.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambda2m_m2_external_data.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambda2m_m2_nxdata.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambda2m_m3_external_data.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambda2m_m3_nxdata.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambda_external_data.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambda_nxdata.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambdavds_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambdavds_framenumbers_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambdavds_nxdata.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambdavds_savefilename_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambdavds_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambdavdsnm_nxdata.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/lambdavdsnm_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/limaccd.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/limaccd_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/limaccd_filestartnum_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/limaccd_postrun.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/limaccd_xpixelsize.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/limaccd_ypixelsize.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/limaccdvds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/limaccdvds_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/limaccdvds_filestartnum_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/limaccdvds_postrun.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/limaccdvds_xpixelsize.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/limaccdvds_ypixelsize.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/maia.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/maiadimension.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/maiaflux.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/marccd.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/marccd_postrun.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/mcaxia.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/minipix.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/minipix_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/minipix_framenumbers_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/minipix_nxdata.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/minipix_savefilename_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/minipix_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/msnsar_env.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/mssar_env.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/mythen.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/mythen2.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/mythen_filestartnumber.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/mythen_postrun.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/nexdatas_configuration.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/nexdatas_version.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/parametercopymap.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pco.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pco_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pco_filestartnum_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pco_postrun.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/perkinelmerdetector.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/perkinelmerdetector_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/perkinelmerdetector_fileindex_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/perkinelmerdetector_postrun.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilatus.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilatus100k_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilatus1m_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilatus2m_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilatus300k_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilatus6m_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilatus_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilatus_filestartnum_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilatus_mxparameters_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilatus_postrun.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilc_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilctimeid.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pilctimeid_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pinhole.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/pointdet.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/qbpm.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/qbpm_foil.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/sample_description.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/sample_env_links.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/sample_log_links.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/sample_name.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/sample_nxdata.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/sampledescription.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/sampledescriptiontext.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/sampleenv_nxdata.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/samplehkl.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/sardanaenvironment.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/secop.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/secop_time.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/signal_axes.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/signal_name.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/signalname.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/singlesecop.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/singlesecop_time.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/slit.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/source.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/start_time.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/start_timestamp.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/starttime.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/starttime.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/tango.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/tangovimba.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/tangovimba_external_data.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/tangovimba_nxdata.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/title.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/undulator.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/xspress3.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools/xmltemplates/xspress3_triggermode_cb.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools.egg-info/dependency_links.txt +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools.egg-info/not-zip-safe +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools.egg-info/requires.txt +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/nxstools.egg-info/top_level.txt +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/setup.cfg +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/setup.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/FileWriterH5CppH5PY_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/FileWriterH5Cpp_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/FileWriterH5PY_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/MacroServer2 +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/MacroServer3 +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/MacroServerSetUp.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCollectH5Cpp_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCollectH5PY_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCollect_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSConfig_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateClientDSDB2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateClientDSDBR2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateClientDSDBR_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateClientDSDB_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateClientDSFS2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateClientDSFS3_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateClientDSFS_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateCompDB2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateCompDBR2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateCompDBR_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateCompDB_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateCompFS2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateCompFS3_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateCompFS_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateCompare_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateDeviceDSDB2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateDeviceDSDBR2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateDeviceDSDBR_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateDeviceDSDB_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateDeviceDSFS2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateDeviceDSFS3_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateDeviceDSFS4_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateDeviceDSFS_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineCPDB2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineCPDBR2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineCPDBR_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineCPDB_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineCPFS2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineCPFS3_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineDSDB2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineDSDBE2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineDSDBE_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineDSDBR2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineDSDBR_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineDSDB_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineDSFS2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineDSFS3_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateOnlineDSFS_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreatePoolDSDB2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreatePoolDSDBR2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreatePoolDSDBR_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreatePoolDSDB_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreatePoolDSFS2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreatePoolDSFS3_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreatePoolDSFS_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreatePyEvalH5Cpp_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreatePyEvalH5PY_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateSECoPCPDB_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateSECoPCPFS_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateStdCompDB2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateStdCompDBE2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateStdCompDBE_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateStdCompDBR2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateStdCompDBR_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateStdCompDB_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateStdCompFS2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateStdCompFS3_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateTangoDSDB2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateTangoDSDBR2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateTangoDSDBR_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateTangoDSDB_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateTangoDSFS2_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateTangoDSFS3_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreateTangoDSFS_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSCreate_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSData_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSFileInfoH5Cpp_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSFileInfoH5PY_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSFileInfo_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSTools_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/NXSetUp_test.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/ServerSetUp.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/TestPool.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/TestPoolSetUp.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/TestServer2 +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/TestServer3 +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/TestServerSetUp.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/WriterSetUp.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/__init__.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/__main__.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/empty.json +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/empty1.json +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/metadata-group-map.lst +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/metadata-group-map2.lst +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/mymeta2_00011.fio +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/mys0_13_1_00190.fio +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/myscan_00034.scan.json +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/myscan_00034b.scan.json +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/myscan_00035.scan.json +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/myuni.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/myuni2.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/myunidy.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/myunidy2.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/secop.conf +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/secop2.conf +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/test_file.cbf +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/test_file.tif +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/test_file0.tif +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/test_file1.tif +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/test_file2.tif +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/test_file3.tif +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/test_file4.tif +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/test_file5.tif +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/files/tn.png +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/main.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/nxsextrasp00/__init__.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/nxsextrasp00/collect4.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/nxsextrasp00/common4_common.ds.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/test/nxsextrasp00/mymca.xml +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/tests/simpleXMLAScan.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/tests/simpleXMLCScan.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/tests/simpleXMLScan.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/tests/testNXSxml.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/tests/testXMLCreator.py +0 -0
- {nxstools-4.28.1 → nxstools-4.32.0}/tests/testXMLtrigger.py +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
|
|
3
3
|
# workaround for a bug in debian9, i.e. starting mysql hangs
|
|
4
|
-
if [ "$1" = "debian11" ] || [ "$1" = "debian12tg10" ] || [ "$1" = "debian12" ] || [ "$1" = "debian13" ] || [ "$1" = "ubuntu24.04" ] || [ "$1" = "ubuntu24.10" ] || [ "$1" = "ubuntu25.04" ]; then
|
|
4
|
+
if [ "$1" = "debian11" ] || [ "$1" = "debian12tg10" ] || [ "$1" = "debian12" ] || [ "$1" = "debian13" ] || [ "$1" = "ubuntu24.04" ] || [ "$1" = "ubuntu24.10" ] || [ "$1" = "ubuntu25.04" ] || [ "$1" = "ubuntu25.10" ]; then
|
|
5
5
|
docker exec --user root ndts service mariadb restart
|
|
6
6
|
else
|
|
7
7
|
docker exec --user root ndts service mysql stop
|
|
@@ -15,7 +15,7 @@ fi
|
|
|
15
15
|
|
|
16
16
|
echo "install tango-common"
|
|
17
17
|
docker exec --user root ndts /bin/bash -c 'apt-get -qq update; export DEBIAN_FRONTEND=noninteractive; apt-get -qq install -y tango-common; sleep 10'
|
|
18
|
-
if [ "$1" = "ubuntu24.04" ] || [ "$1" = "ubuntu24.10" ] || [ "$1" = "ubuntu25.04" ]; then
|
|
18
|
+
if [ "$1" = "ubuntu24.04" ] || [ "$1" = "ubuntu24.10" ] || [ "$1" = "ubuntu25.10" ] || [ "$1" = "ubuntu25.04" ]; then
|
|
19
19
|
# docker exec --user tango ndts /bin/bash -c '/usr/lib/tango/DataBaseds 2 -ORBendPoint giop:tcp::10000 &'
|
|
20
20
|
docker exec --user root ndts /bin/bash -c 'echo -e "[client]\nuser=root\npassword=rootpw" > /root/.my.cnf'
|
|
21
21
|
docker exec --user root ndts /bin/bash -c 'echo -e "[client]\nuser=tango\nhost=localhost\npassword=rootpw" > /var/lib/tango/.my.cnf'
|
|
@@ -31,7 +31,7 @@ fi
|
|
|
31
31
|
echo "install tango-db"
|
|
32
32
|
docker exec --user root ndts /bin/bash -c 'apt-get -qq update; export DEBIAN_FRONTEND=noninteractive; apt-get -qq install -y tango-db; sleep 10'
|
|
33
33
|
if [ "$?" -ne "0" ]; then exit 255; fi
|
|
34
|
-
if [ "$1" = "ubuntu24.04" ] || [ "$1" = "ubuntu24.10" ] || [ "$1" = "ubuntu25.04" ]; then
|
|
34
|
+
if [ "$1" = "ubuntu24.04" ] || [ "$1" = "ubuntu24.10" ] || [ "$1" = "ubuntu25.10" ] || [ "$1" = "ubuntu25.04" ]; then
|
|
35
35
|
docker exec --user tango ndts /usr/bin/mysql -e 'create database tango'
|
|
36
36
|
docker exec --user tango ndts /bin/bash -c '/usr/bin/mysql tango < /usr/share/dbconfig-common/data/tango-db/install/mysql'
|
|
37
37
|
fi
|
|
@@ -50,7 +50,7 @@ docker exec --user root ndts chown -R tango:tango .
|
|
|
50
50
|
|
|
51
51
|
echo "install nxsconfigserver"
|
|
52
52
|
docker exec --user root ndts /bin/sh -c 'export DEBIAN_FRONTEND=noninteractive; apt-get -qq update; apt-get -qq install -y nxsconfigserver-db; sleep 10'
|
|
53
|
-
if [ "$1" = "ubuntu24.04" ] || [ "$1" = "ubuntu24.10" ] || [ "$1" = "ubuntu25.04" ]; then
|
|
53
|
+
if [ "$1" = "ubuntu24.04" ] || [ "$1" = "ubuntu24.10" ] || [ "$1" = "ubuntu25.10" ] || [ "$1" = "ubuntu25.04" ]; then
|
|
54
54
|
docker exec --user root ndts /usr/bin/mysql -e 'GRANT ALL PRIVILEGES ON nxsconfig.* TO "tango"@"%" identified by "rootpw"'
|
|
55
55
|
docker exec --user root ndts /usr/bin/mysql -e 'GRANT ALL PRIVILEGES ON nxsconfig.* TO "tango"@"localhost" identified by "rootpw"'
|
|
56
56
|
docker exec --user root ndts /usr/bin/mysql -e 'FLUSH PRIVILEGES'
|
|
@@ -64,7 +64,7 @@ if [ "$2" = "2" ]; then
|
|
|
64
64
|
docker exec --user root ndts /bin/sh -c 'apt-get -qq update; export DEBIAN_FRONTEND=noninteractive; apt-get -qq install -y python-pytango python-nxswriter nxswriter python-nxsconfigserver nxsconfigserver'
|
|
65
65
|
else
|
|
66
66
|
echo "install python3-pytango ..."
|
|
67
|
-
if [ "$1" = "ubuntu24.04" ] || [ "$1" = "ubuntu24.10" ] || [ "$1" = "ubuntu25.04" ] || [ "$1" = "debian10" ] || [ "$1" = "ubuntu20.04" ] || [ "$1" = "ubuntu22.04" ] || [ "$1" = "ubuntu23.10" ] || [ "$1" = "ubuntu20.10" ] || [ "$1" = "debian11" ] || [ "$1" = "debian12" ] || [ "$1" = "debian12tg10" ] || [ "$1" = "debian13" ] ; then
|
|
67
|
+
if [ "$1" = "ubuntu24.04" ] || [ "$1" = "ubuntu24.10" ] || [ "$1" = "ubuntu25.04" ] || [ "$1" = "ubuntu25.10" ] || [ "$1" = "debian10" ] || [ "$1" = "ubuntu20.04" ] || [ "$1" = "ubuntu22.04" ] || [ "$1" = "ubuntu23.10" ] || [ "$1" = "ubuntu20.10" ] || [ "$1" = "debian11" ] || [ "$1" = "debian12" ] || [ "$1" = "debian12tg10" ] || [ "$1" = "debian13" ] ; then
|
|
68
68
|
docker exec --user root ndts /bin/sh -c 'apt-get -qq update; export DEBIAN_FRONTEND=noninteractive; apt-get -qq install -y python3-tango python3-nxswriter nxswriter python3-nxsconfigserver nxsconfigserver'
|
|
69
69
|
else
|
|
70
70
|
docker exec --user root ndts /bin/sh -c 'apt-get -qq update; export DEBIAN_FRONTEND=noninteractive; apt-get -qq install -y python3-pytango python3-nxswriter nxswriter3 python3-nxsconfigserver nxsconfigserver3'
|
|
@@ -24,7 +24,7 @@ jobs:
|
|
|
24
24
|
runs-on: ubuntu-latest
|
|
25
25
|
strategy:
|
|
26
26
|
matrix:
|
|
27
|
-
os: [debian13, debian12tg10, debian12, debian11, ubuntu25.
|
|
27
|
+
os: [debian13, debian12tg10, debian12, debian11, ubuntu25.10, ubuntu24.04, ubuntu22.04]
|
|
28
28
|
steps:
|
|
29
29
|
- uses: actions/checkout@v2
|
|
30
30
|
- uses: actions/setup-python@v2
|
|
@@ -1,3 +1,37 @@
|
|
|
1
|
+
2025-11-10 Jan Kotanski <jankotan@gmail.com>
|
|
2
|
+
* avoid to recreate redis data store because of memory leak (#832)
|
|
3
|
+
* tagged as v4.32.0
|
|
4
|
+
|
|
5
|
+
2025-11-07 Jan Kotanski <jankotan@gmail.com>
|
|
6
|
+
* skip stream creation for already existing streams (#828)
|
|
7
|
+
* remove compression_enabled and compression_shuffle (#831)
|
|
8
|
+
* tagged as v4.31.4
|
|
9
|
+
|
|
10
|
+
2025-11-05 Jan Kotanski <jankotan@gmail.com>
|
|
11
|
+
* change NXsample/sample_identifier to NXsample/identifier field (#822)
|
|
12
|
+
* tagged as v4.31.3
|
|
13
|
+
|
|
14
|
+
2025-11-04 Jan Kotanski <jankotan@gmail.com>
|
|
15
|
+
* change sample_identifier to nexus field (#822)
|
|
16
|
+
* tagged as v4.31.2
|
|
17
|
+
|
|
18
|
+
2025-11-04 Jan Kotanski <jankotan@gmail.com>
|
|
19
|
+
* fix typo in defaultsampleidentifier component (#822)
|
|
20
|
+
* tagged as v4.31.1
|
|
21
|
+
|
|
22
|
+
2025-11-04 Jan Kotanski <jankotan@gmail.com>
|
|
23
|
+
* add defaultsampleidentifier component (#822)
|
|
24
|
+
* tagged as v4.31.0
|
|
25
|
+
|
|
26
|
+
2025-10-29 Jan Kotanski <jankotan@gmail.com>
|
|
27
|
+
* add defaultcollection component (#819)
|
|
28
|
+
* tagged as v4.30.0
|
|
29
|
+
|
|
30
|
+
2025-10-23 Jan Kotanski <jankotan@gmail.com>
|
|
31
|
+
* add pilcvds component (#809)
|
|
32
|
+
* add support for h5file_detector (#812, #809)
|
|
33
|
+
* tagged as v4.29.0
|
|
34
|
+
|
|
1
35
|
2025-10-13 Jan Kotanski <jankotan@gmail.com>
|
|
2
36
|
* move virtual map list methods to h5py/h5cpp writers (#806)
|
|
3
37
|
* tagged as v4.28.1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: nxstools
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.32.0
|
|
4
4
|
Summary: Configuration tools for NeXDaTaS Tango Servers
|
|
5
5
|
Home-page: http://github.com/nexdatas/nxstools
|
|
6
6
|
Author: Jan Kotanski, Eugen Wintersberger , Halil Pasic
|
|
@@ -98,7 +98,7 @@ Extract sources and run
|
|
|
98
98
|
Debian packages
|
|
99
99
|
"""""""""""""""
|
|
100
100
|
|
|
101
|
-
Debian `trixie`, `bookworm`, `bullseye` or Ubuntu `
|
|
101
|
+
Debian `trixie`, `bookworm`, `bullseye` or Ubuntu `questing`, `noble`, `jammy` packages can be found in the HDRI repository.
|
|
102
102
|
|
|
103
103
|
To install the debian packages, add the PGP repository key
|
|
104
104
|
|
|
@@ -113,7 +113,7 @@ and then download the corresponding source list
|
|
|
113
113
|
.. code-block:: console
|
|
114
114
|
|
|
115
115
|
$ cd /etc/apt/sources.list.d
|
|
116
|
-
$ wget http://repos.pni-hdri.de/trixie-pni-hdri.
|
|
116
|
+
$ wget http://repos.pni-hdri.de/trixie-pni-hdri.sources
|
|
117
117
|
|
|
118
118
|
To install nxstools scripts
|
|
119
119
|
|
|
@@ -70,7 +70,7 @@ Extract sources and run
|
|
|
70
70
|
Debian packages
|
|
71
71
|
"""""""""""""""
|
|
72
72
|
|
|
73
|
-
Debian `trixie`, `bookworm`, `bullseye` or Ubuntu `
|
|
73
|
+
Debian `trixie`, `bookworm`, `bullseye` or Ubuntu `questing`, `noble`, `jammy` packages can be found in the HDRI repository.
|
|
74
74
|
|
|
75
75
|
To install the debian packages, add the PGP repository key
|
|
76
76
|
|
|
@@ -85,7 +85,7 @@ and then download the corresponding source list
|
|
|
85
85
|
.. code-block:: console
|
|
86
86
|
|
|
87
87
|
$ cd /etc/apt/sources.list.d
|
|
88
|
-
$ wget http://repos.pni-hdri.de/trixie-pni-hdri.
|
|
88
|
+
$ wget http://repos.pni-hdri.de/trixie-pni-hdri.sources
|
|
89
89
|
|
|
90
90
|
To install nxstools scripts
|
|
91
91
|
|
|
@@ -284,7 +284,7 @@ def virtual_field_layout(shape, dtype, maxshape=None, parent=None):
|
|
|
284
284
|
if not wr:
|
|
285
285
|
with writerlock:
|
|
286
286
|
wr = writer
|
|
287
|
-
return wr.virtual_field_layout(shape, dtype, maxshape)
|
|
287
|
+
return wr.virtual_field_layout(shape, dtype, maxshape, parent)
|
|
288
288
|
|
|
289
289
|
|
|
290
290
|
def setwriter(wr):
|
|
@@ -786,13 +786,13 @@ class FTVirtualFieldLayout(FTObject):
|
|
|
786
786
|
|
|
787
787
|
""" virtual field layout """
|
|
788
788
|
|
|
789
|
-
def __init__(self, h5object=None):
|
|
789
|
+
def __init__(self, h5object=None, tparent=None):
|
|
790
790
|
""" constructor
|
|
791
791
|
|
|
792
792
|
:param h5object: h5 object
|
|
793
793
|
:type h5object: :obj:`any`
|
|
794
794
|
"""
|
|
795
|
-
FTObject.__init__(self, h5object)
|
|
795
|
+
FTObject.__init__(self, h5object, tparent)
|
|
796
796
|
|
|
797
797
|
def __setitem__(self, key, source):
|
|
798
798
|
""" add target field view to layout
|
|
@@ -91,27 +91,18 @@ def unlimited_selection(sel, shape):
|
|
|
91
91
|
res = []
|
|
92
92
|
for sl in sel:
|
|
93
93
|
if hasattr(sl, "stop"):
|
|
94
|
-
res.append(
|
|
95
|
-
True if sl.stop in [unlimited()]
|
|
96
|
-
else False)
|
|
94
|
+
res.append(True if sl.stop in [unlimited()] else False)
|
|
97
95
|
elif hasattr(sl, "count"):
|
|
98
|
-
res.append(
|
|
99
|
-
True if sl.count in [unlimited()]
|
|
100
|
-
else False)
|
|
96
|
+
res.append(True if sl.count in [unlimited()] else False)
|
|
101
97
|
else:
|
|
102
|
-
res.append(
|
|
103
|
-
True if sl in [unlimited()]
|
|
104
|
-
else False)
|
|
98
|
+
res.append(True if sl in [unlimited()] else False)
|
|
105
99
|
|
|
106
100
|
elif hasattr(sel, "count"):
|
|
107
101
|
res = []
|
|
108
102
|
for ct in sel.count():
|
|
109
|
-
res.append(
|
|
110
|
-
True if ct in [unlimited()]
|
|
111
|
-
else False)
|
|
103
|
+
res.append(True if ct in [unlimited()] else False)
|
|
112
104
|
elif isinstance(sel, slice):
|
|
113
|
-
res = [True if sel.stop in [unlimited()]
|
|
114
|
-
else False]
|
|
105
|
+
res = [True if sel.stop in [unlimited()] else False]
|
|
115
106
|
|
|
116
107
|
elif sel in [unlimited()]:
|
|
117
108
|
res = [True]
|
|
@@ -128,7 +119,7 @@ def unlimited_selection(sel, shape):
|
|
|
128
119
|
for si in range(lct):
|
|
129
120
|
if res[si]:
|
|
130
121
|
count[si] = h5cpp.dataspace.UNLIMITED
|
|
131
|
-
# print("
|
|
122
|
+
# print("Hyperslab1 %s %s %s %s" % (offset, block, count, stride))
|
|
132
123
|
return h5cpp.dataspace.Hyperslab(
|
|
133
124
|
offset=offset, block=block, count=count, stride=stride)
|
|
134
125
|
else:
|
|
@@ -140,7 +131,7 @@ def _slice2selection(t, shape):
|
|
|
140
131
|
|
|
141
132
|
:param t: slice tuple
|
|
142
133
|
:type t: :obj:`tuple`
|
|
143
|
-
:
|
|
134
|
+
:param shape: field shape
|
|
144
135
|
:type shape: :obj:`list` < :obj:`int` >
|
|
145
136
|
:returns: hyperslab selection
|
|
146
137
|
:rtype: :class:`h5cpp.dataspace.Hyperslab`
|
|
@@ -173,7 +164,7 @@ def _slice2selection(t, shape):
|
|
|
173
164
|
stride[dm] = 1
|
|
174
165
|
else:
|
|
175
166
|
stride.append(1)
|
|
176
|
-
# print("
|
|
167
|
+
# print("Hyperslab2 %s %s %s %s" % (offset, block, count, stride))
|
|
177
168
|
return h5cpp.dataspace.Hyperslab(
|
|
178
169
|
offset=offset, block=block, count=count, stride=stride)
|
|
179
170
|
|
|
@@ -244,7 +235,7 @@ def _slice2selection(t, shape):
|
|
|
244
235
|
stride.append(1)
|
|
245
236
|
if jt < esize - 1:
|
|
246
237
|
it += 1
|
|
247
|
-
# print("
|
|
238
|
+
# print("Hyperslab3 %s %s %s %s" % (offset, block, count, stride))
|
|
248
239
|
if len(offset):
|
|
249
240
|
return h5cpp.dataspace.Hyperslab(
|
|
250
241
|
offset=offset, block=block, count=count, stride=stride)
|
|
@@ -567,7 +558,7 @@ def target_field_view(filename, fieldpath, shape,
|
|
|
567
558
|
filename, fieldpath, shape, dtype, maxshape)
|
|
568
559
|
|
|
569
560
|
|
|
570
|
-
def virtual_field_layout(shape, dtype, maxshape=None):
|
|
561
|
+
def virtual_field_layout(shape, dtype, maxshape=None, parent=None):
|
|
571
562
|
""" creates a virtual field layout for a VDS file
|
|
572
563
|
|
|
573
564
|
:param shape: shape
|
|
@@ -583,7 +574,7 @@ def virtual_field_layout(shape, dtype, maxshape=None):
|
|
|
583
574
|
raise Exception("VDS not supported")
|
|
584
575
|
return H5CppVirtualFieldLayout(
|
|
585
576
|
h5cpp.property.VirtualDataMaps(),
|
|
586
|
-
shape, dtype, maxshape)
|
|
577
|
+
shape, dtype, maxshape, parent)
|
|
587
578
|
|
|
588
579
|
|
|
589
580
|
class H5CppFile(filewriter.FTFile):
|
|
@@ -1031,7 +1022,7 @@ class H5CppField(filewriter.FTField):
|
|
|
1031
1022
|
|
|
1032
1023
|
:param h5object: h5 object
|
|
1033
1024
|
:type h5object: :obj:`any`
|
|
1034
|
-
:param tparent:
|
|
1025
|
+
:param tparent: tree parent
|
|
1035
1026
|
:type tparent: :obj:`FTObject`
|
|
1036
1027
|
"""
|
|
1037
1028
|
filewriter.FTField.__init__(self, h5object, tparent)
|
|
@@ -1321,7 +1312,7 @@ class H5CppLink(filewriter.FTLink):
|
|
|
1321
1312
|
|
|
1322
1313
|
:param h5object: h5 object
|
|
1323
1314
|
:type h5object: :obj:`any`
|
|
1324
|
-
:param tparent:
|
|
1315
|
+
:param tparent: tree parent
|
|
1325
1316
|
:type tparent: :obj:`FTObject`
|
|
1326
1317
|
"""
|
|
1327
1318
|
filewriter.FTLink.__init__(self, h5object, tparent)
|
|
@@ -1420,7 +1411,8 @@ class H5CppVirtualFieldLayout(filewriter.FTVirtualFieldLayout):
|
|
|
1420
1411
|
|
|
1421
1412
|
""" virtual field layout """
|
|
1422
1413
|
|
|
1423
|
-
def __init__(self, h5object, shape, dtype=None, maxshape=None
|
|
1414
|
+
def __init__(self, h5object, shape, dtype=None, maxshape=None,
|
|
1415
|
+
tparent=None):
|
|
1424
1416
|
""" constructor
|
|
1425
1417
|
|
|
1426
1418
|
:param h5object: h5 object
|
|
@@ -1432,7 +1424,7 @@ class H5CppVirtualFieldLayout(filewriter.FTVirtualFieldLayout):
|
|
|
1432
1424
|
:param maxshape: shape
|
|
1433
1425
|
:type maxshape: :obj:`list` < :obj:`int` >
|
|
1434
1426
|
"""
|
|
1435
|
-
filewriter.FTVirtualFieldLayout.__init__(self, h5object)
|
|
1427
|
+
filewriter.FTVirtualFieldLayout.__init__(self, h5object, tparent)
|
|
1436
1428
|
#: (:obj:`list` < :obj:`int` >) shape
|
|
1437
1429
|
self.shape = shape
|
|
1438
1430
|
# : (:obj:`str`): data type
|
|
@@ -1442,7 +1434,16 @@ class H5CppVirtualFieldLayout(filewriter.FTVirtualFieldLayout):
|
|
|
1442
1434
|
#: (:obj:`list` <:obj:`dict` >) vmap list
|
|
1443
1435
|
self.__vmaps = []
|
|
1444
1436
|
|
|
1445
|
-
|
|
1437
|
+
@classmethod
|
|
1438
|
+
def cure_keys(cls, key):
|
|
1439
|
+
""" cure keys
|
|
1440
|
+
|
|
1441
|
+
:param key: field key
|
|
1442
|
+
:type key: :class:`FTHyperslab` or :obj:`tuple` or :obj:`list`
|
|
1443
|
+
: or :obj:`int`
|
|
1444
|
+
:returns: field key
|
|
1445
|
+
:rtype: :class:`FTHyperslab` or :obj:`tuple`
|
|
1446
|
+
"""
|
|
1446
1447
|
tkey = []
|
|
1447
1448
|
if isinstance(key, list):
|
|
1448
1449
|
try:
|
|
@@ -1450,16 +1451,7 @@ class H5CppVirtualFieldLayout(filewriter.FTVirtualFieldLayout):
|
|
|
1450
1451
|
except Exception:
|
|
1451
1452
|
sk = []
|
|
1452
1453
|
if len(sk) == 1 and sk[0] == 4:
|
|
1453
|
-
offset =
|
|
1454
|
-
block = []
|
|
1455
|
-
count = []
|
|
1456
|
-
stride = []
|
|
1457
|
-
for ky in key:
|
|
1458
|
-
off, bl, cnt, std = ky
|
|
1459
|
-
offset.append(off)
|
|
1460
|
-
block.append(bl)
|
|
1461
|
-
count.append(cnt)
|
|
1462
|
-
stride.append(std)
|
|
1454
|
+
offset, block, count, stride = map(list, zip(*key))
|
|
1463
1455
|
return filewriter.FTHyperslab(offset, block, count, stride)
|
|
1464
1456
|
for ky in key:
|
|
1465
1457
|
if isinstance(ky, list) and len(ky) > 0 and len(ky) < 4:
|
|
@@ -1472,17 +1464,107 @@ class H5CppVirtualFieldLayout(filewriter.FTVirtualFieldLayout):
|
|
|
1472
1464
|
return tuple(tkey)
|
|
1473
1465
|
return key
|
|
1474
1466
|
|
|
1475
|
-
|
|
1467
|
+
@classmethod
|
|
1468
|
+
def cure_shape(cls, vmaps, shape):
|
|
1469
|
+
""" cure shape from virtual map elements
|
|
1470
|
+
|
|
1471
|
+
:param vmaps: list of virtual map description
|
|
1472
|
+
:type vmaps: :obj:`list`<:obj:`dict`>
|
|
1473
|
+
:param shape: field shape
|
|
1474
|
+
:type shape: :obj:`list` < :obj:`int` >
|
|
1475
|
+
:returns: field shape
|
|
1476
|
+
:rtype: :obj:`list` < :obj:`int` >
|
|
1477
|
+
"""
|
|
1478
|
+
# print("vmaps", vmaps, shape)
|
|
1479
|
+
if shape is None:
|
|
1480
|
+
return shape
|
|
1481
|
+
sizes = [(sh if sh > 1 else 0) for sh in shape]
|
|
1482
|
+
for vmap in vmaps:
|
|
1483
|
+
if "key" in vmap:
|
|
1484
|
+
key = vmap["key"]
|
|
1485
|
+
try:
|
|
1486
|
+
sk = list(set([len(ky) for ky in key]))
|
|
1487
|
+
except Exception:
|
|
1488
|
+
sk = []
|
|
1489
|
+
if len(sk) == 1 and sk[0] == 4:
|
|
1490
|
+
offset, block, count, stride = map(list, zip(*key))
|
|
1491
|
+
for si, sh in enumerate(shape):
|
|
1492
|
+
if sh < 2:
|
|
1493
|
+
if block[si] != unlimited() \
|
|
1494
|
+
and count[si] != unlimited() \
|
|
1495
|
+
and count[si] and block[si] and stride[si]:
|
|
1496
|
+
sizes[si] = max(
|
|
1497
|
+
sizes[si],
|
|
1498
|
+
offset[si] + stride[si] * [count[si] - 1]
|
|
1499
|
+
+ block[si])
|
|
1500
|
+
else:
|
|
1501
|
+
sizes[si] = max(
|
|
1502
|
+
sizes[si], 1)
|
|
1503
|
+
else:
|
|
1504
|
+
eshape = vmap["shape"] if "shape" in vmap else []
|
|
1505
|
+
|
|
1506
|
+
for si, sh in enumerate(shape):
|
|
1507
|
+
if sh < 2:
|
|
1508
|
+
if isinstance(key, list) and len(key) > si \
|
|
1509
|
+
and isinstance(key[si], list) \
|
|
1510
|
+
and len(key[si]) > 0 and len(key[si]) < 4:
|
|
1511
|
+
sky = slice(*key[si])
|
|
1512
|
+
if sky.stop != unlimited():
|
|
1513
|
+
start = sky.start or 0
|
|
1514
|
+
stop = sky.stop or 0
|
|
1515
|
+
step = sky.step or 1
|
|
1516
|
+
size = (step * ((stop - start - 1) // step)
|
|
1517
|
+
+ start) + 1
|
|
1518
|
+
sizes[si] = max(sizes[si], size)
|
|
1519
|
+
else:
|
|
1520
|
+
if si:
|
|
1521
|
+
sizes[si] = max(
|
|
1522
|
+
sizes[si],
|
|
1523
|
+
eshape[si]
|
|
1524
|
+
if len(eshape) > si else 1, 1)
|
|
1525
|
+
else:
|
|
1526
|
+
sizes[si] += max(
|
|
1527
|
+
eshape[si]
|
|
1528
|
+
if len(eshape) > si else 1, 1)
|
|
1529
|
+
else:
|
|
1530
|
+
if si:
|
|
1531
|
+
sizes[si] = max(
|
|
1532
|
+
sizes[si],
|
|
1533
|
+
eshape[si]
|
|
1534
|
+
if len(eshape) > si else 1, 1)
|
|
1535
|
+
else:
|
|
1536
|
+
sizes[si] += max(
|
|
1537
|
+
eshape[si]
|
|
1538
|
+
if len(eshape) > si else 1, 1)
|
|
1539
|
+
else:
|
|
1540
|
+
eshape = vmap["shape"] if "shape" in vmap else []
|
|
1541
|
+
for si, sh in enumerate(shape):
|
|
1542
|
+
if sh < 2:
|
|
1543
|
+
if si:
|
|
1544
|
+
sizes[si] = max(
|
|
1545
|
+
sizes[si],
|
|
1546
|
+
eshape[si] if len(eshape) > si else 1, 1)
|
|
1547
|
+
else:
|
|
1548
|
+
sizes[si] += max(
|
|
1549
|
+
eshape[si] if len(eshape) > si else 1, 1)
|
|
1550
|
+
return sizes
|
|
1551
|
+
|
|
1552
|
+
def process_target_field_views(self, parent=None):
|
|
1476
1553
|
""" process target fields views to virtual field layout
|
|
1554
|
+
|
|
1555
|
+
:param parent: tree parent
|
|
1556
|
+
:type parent: :obj:`FTObject`
|
|
1477
1557
|
"""
|
|
1558
|
+
if self.__vmaps is not None:
|
|
1559
|
+
# print("SHAPE1", shape)
|
|
1560
|
+
self.shape = self.cure_shape(self.__vmaps, self.shape)
|
|
1561
|
+
# print("SHAPE12", shape)
|
|
1478
1562
|
counter = 0
|
|
1479
1563
|
for vmap in self.__vmaps:
|
|
1480
|
-
fieldpath = ""
|
|
1481
|
-
filename = ""
|
|
1482
1564
|
edtype = vmap["dtype"] \
|
|
1483
1565
|
if "dtype" in vmap else self.dtype
|
|
1484
1566
|
key = vmap["key"] if "key" in vmap else counter
|
|
1485
|
-
key = self.
|
|
1567
|
+
key = self.cure_keys(key)
|
|
1486
1568
|
if "shape" in vmap:
|
|
1487
1569
|
eshape = vmap["shape"]
|
|
1488
1570
|
elif isinstance(key, int):
|
|
@@ -1490,6 +1572,7 @@ class H5CppVirtualFieldLayout(filewriter.FTVirtualFieldLayout):
|
|
|
1490
1572
|
eshape[0] = 1
|
|
1491
1573
|
else:
|
|
1492
1574
|
eshape = [0] * len(self.shape)
|
|
1575
|
+
|
|
1493
1576
|
fieldpath = vmap["fieldpath"] \
|
|
1494
1577
|
if "fieldpath" in vmap else "/data"
|
|
1495
1578
|
filename = vmap["filename"] if "filename" in vmap else None
|
|
@@ -1503,7 +1586,9 @@ class H5CppVirtualFieldLayout(filewriter.FTVirtualFieldLayout):
|
|
|
1503
1586
|
filename, fieldpath = target.split(":/")
|
|
1504
1587
|
else:
|
|
1505
1588
|
fieldpath = target
|
|
1506
|
-
|
|
1589
|
+
if self._tparent is None and parent is not None:
|
|
1590
|
+
self._tparent = parent
|
|
1591
|
+
obj = self._tparent
|
|
1507
1592
|
while filename is None:
|
|
1508
1593
|
par = obj.parent
|
|
1509
1594
|
if par is None:
|
|
@@ -1517,10 +1602,10 @@ class H5CppVirtualFieldLayout(filewriter.FTVirtualFieldLayout):
|
|
|
1517
1602
|
if "sourceshape" in vmap else None
|
|
1518
1603
|
sourcekey = vmap["sourcekey"] \
|
|
1519
1604
|
if "sourcekey" in vmap else None
|
|
1520
|
-
sourcekey = self.
|
|
1605
|
+
sourcekey = self.cure_keys(sourcekey)
|
|
1521
1606
|
if not any(eshape):
|
|
1522
|
-
eshape = self.
|
|
1523
|
-
ef =
|
|
1607
|
+
eshape = self.find_shape(key, eshape, change_unlimited=False)
|
|
1608
|
+
ef = target_field_view(
|
|
1524
1609
|
filename, fieldpath, eshape, edtype)
|
|
1525
1610
|
if eshape:
|
|
1526
1611
|
counter += eshape[0]
|
|
@@ -1529,25 +1614,24 @@ class H5CppVirtualFieldLayout(filewriter.FTVirtualFieldLayout):
|
|
|
1529
1614
|
# print("KEY", key, sourcekey, sourceshape, eshape)
|
|
1530
1615
|
self.add(key, ef, sourcekey, sourceshape)
|
|
1531
1616
|
|
|
1532
|
-
|
|
1617
|
+
@classmethod
|
|
1618
|
+
def find_shape(cls, key, eshape=None, change_unlimited=True):
|
|
1533
1619
|
""" find a layout shape from elemnt keys and shape
|
|
1620
|
+
|
|
1534
1621
|
:param key: field key
|
|
1535
1622
|
:type key: :class:`FTHyperslab` o :obj:`tuple`
|
|
1536
1623
|
:param eshape: element shape
|
|
1537
1624
|
:type eshape: ::obj:`list`
|
|
1538
|
-
:param
|
|
1539
|
-
:type
|
|
1540
|
-
:returns: layout
|
|
1541
|
-
:rtype:
|
|
1625
|
+
:param change_unlimited: unlimited flag
|
|
1626
|
+
:type change_unlimited: ::obj:`bool`
|
|
1627
|
+
:returns: layout shape
|
|
1628
|
+
:rtype: :obj:`list` < :obj:`int` >
|
|
1542
1629
|
"""
|
|
1543
1630
|
|
|
1544
1631
|
if isinstance(key, filewriter.FTHyperslab):
|
|
1545
|
-
if not
|
|
1546
|
-
count = [(ct if ct !=
|
|
1547
|
-
|
|
1548
|
-
|
|
1549
|
-
block = [(ct if ct != filewriter.writer.unlimited() else 1)
|
|
1550
|
-
for ct in key.block]
|
|
1632
|
+
if not change_unlimited:
|
|
1633
|
+
count = [(ct if ct != unlimited() else 1) for ct in key.count]
|
|
1634
|
+
block = [(ct if ct != unlimited() else 1) for ct in key.block]
|
|
1551
1635
|
else:
|
|
1552
1636
|
count = key.count
|
|
1553
1637
|
block = key.block
|
|
@@ -1555,7 +1639,7 @@ class H5CppVirtualFieldLayout(filewriter.FTVirtualFieldLayout):
|
|
|
1555
1639
|
if isinstance(key, tuple):
|
|
1556
1640
|
eshape = []
|
|
1557
1641
|
for ky in key:
|
|
1558
|
-
if not
|
|
1642
|
+
if not change_unlimited and ky.stop == unlimited():
|
|
1559
1643
|
eshape.append(1)
|
|
1560
1644
|
elif isinstance(ky, slice) and ky.stop > 0:
|
|
1561
1645
|
start = ky.start if ky.start is not None else 0
|
|
@@ -1567,7 +1651,6 @@ class H5CppVirtualFieldLayout(filewriter.FTVirtualFieldLayout):
|
|
|
1567
1651
|
|
|
1568
1652
|
def __len__(self):
|
|
1569
1653
|
""" provides virtual map list length
|
|
1570
|
-
|
|
1571
1654
|
:rtype: :obj:`int`
|
|
1572
1655
|
:returns: virtual map list length
|
|
1573
1656
|
"""
|
|
@@ -1684,7 +1767,7 @@ class H5CppAttributeManager(filewriter.FTAttributeManager):
|
|
|
1684
1767
|
|
|
1685
1768
|
:param h5object: h5 object
|
|
1686
1769
|
:type h5object: :obj:`any`
|
|
1687
|
-
:param tparent:
|
|
1770
|
+
:param tparent: tree parent
|
|
1688
1771
|
:type tparent: :obj:`FTObject`
|
|
1689
1772
|
"""
|
|
1690
1773
|
filewriter.FTAttributeManager.__init__(self, h5object, tparent)
|
|
@@ -1803,7 +1886,7 @@ class H5CppAttribute(filewriter.FTAttribute):
|
|
|
1803
1886
|
|
|
1804
1887
|
:param h5object: h5 object
|
|
1805
1888
|
:type h5object: :obj:`any`
|
|
1806
|
-
:param tparent:
|
|
1889
|
+
:param tparent: tree parent
|
|
1807
1890
|
:type tparent: :obj:`FTObject`
|
|
1808
1891
|
"""
|
|
1809
1892
|
filewriter.FTAttribute.__init__(self, h5object, tparent)
|