nxswriter 3.8.1__tar.gz → 3.9.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.
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/install.sh +4 -4
- nxswriter-3.9.0/.ci/run.sh +9 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.github/workflows/tests.yml +2 -2
- {nxswriter-3.8.1 → nxswriter-3.9.0}/ChangeLog +8 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/PKG-INFO +3 -3
- {nxswriter-3.8.1 → nxswriter-3.9.0}/README.rst +2 -2
- {nxswriter-3.8.1 → nxswriter-3.9.0}/man/nxswriter.1 +2 -2
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/EAttribute.py +4 -7
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/EField.py +42 -13
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/ELink.py +1 -1
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/EStrategy.py +3 -3
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/H5Elements.py +46 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/NexusXMLHandler.py +2 -2
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/Release.py +1 -1
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter.egg-info/PKG-INFO +3 -3
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter.egg-info/requires.txt +1 -3
- {nxswriter-3.8.1 → nxswriter-3.9.0}/setup.py +4 -4
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/Checkers.py +1 -1
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientFieldTagWriterH5Cpp_test.py +5 -5
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientFieldTagWriterH5PY_test.py +5 -5
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBFieldTagWriterH5Cpp_test.py +2 -2
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBFieldTagWriterH5PY_test.py +2 -2
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DataHolder_test.py +16 -16
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EAttributeH5Cpp_test.py +16 -16
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EAttributeH5PY_test.py +16 -16
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EFieldH5Cpp_test.py +28 -28
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EFieldH5PY_test.py +28 -28
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EFieldReshapeH5Cpp_test.py +28 -28
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EFieldReshapeH5PY_test.py +28 -28
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ELinkH5Cpp_test.py +78 -64
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ELinkH5PY_test.py +71 -61
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EStrategyH5Cpp_test.py +2 -2
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EStrategyH5PY_test.py +2 -2
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FileWriterH5CppH5PY_test.py +3 -3
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FileWriterH5Cpp_test.py +3 -3
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/H5CppWriter_test.py +10 -10
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NexusXMLHandlerH5Cpp_test.py +3 -2
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NexusXMLHandlerH5PY_test.py +3 -2
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/PyEvalSource_test.py +4 -4
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoFieldTagWriterH5Cpp_test.py +11 -10
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoFieldTagWriterH5PY_test.py +12 -11
- nxswriter-3.8.1/.ci/run.sh +0 -13
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian10_py2/Dockerfile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian10_py3/Dockerfile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian11_py3/Dockerfile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian8_py2/Dockerfile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian8_py3/Dockerfile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian9_py2/Dockerfile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian9_py3/Dockerfile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/ubuntu16.04_py2/Dockerfile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/ubuntu16.04_py3/Dockerfile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/ubuntu18.04_py2/Dockerfile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/ubuntu18.04_py3/Dockerfile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/ubuntu20.04_py3/Dockerfile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.flake8 +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/.gitignore +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/COPYRIGHT +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/MANIFEST.in +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/NXSDataWriter +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/NXSDataWriter.xmi +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/MNI.xml +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/encodedImage.xml +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/encodedImage4.xml +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/scan.xml +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/scan2.xml +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/scan3.xml +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/test.xml +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/trigger.xml +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc/Makefile +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc/conf.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc/index.rst +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc/make.bat +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc/nxswriter.rst +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrCanFail.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrCurrentFileId.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrErrors.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrFileName.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrJSONRecord.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrSkipAcquisition.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrStepsPerFile.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrXMLSettings.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/Attributes.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/ClassDescription.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdCloseEntry.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdCloseEntryAsynch.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdCloseFile.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdOpenEntry.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdOpenEntryAsynch.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdOpenFile.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdRecord.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdRecordAsynch.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdState.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdStatus.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/Commands.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/FullDocument.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/Properties.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/States.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/TitleBanner.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/index.html +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/man/NXSDataWriter.1 +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/man/nxsfromxml.1 +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxsfromxml +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/ClientSource.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/DBaseSource.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/DataHolder.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/DataSourceFactory.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/DataSourcePool.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/DataSources.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/DecoderPool.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/EGroup.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/Element.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/ElementThread.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/Errors.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/FElement.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/FetchNameHandler.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/InnerXMLParser.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/Metadata.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/NXSFromXML.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/NXSWriter.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/PyEvalSource.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/StreamSet.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/TangoDataWriter.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/TangoSource.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/ThreadPool.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/Types.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/__init__.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter.egg-info/SOURCES.txt +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter.egg-info/dependency_links.txt +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter.egg-info/not-zip-safe +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter.egg-info/top_level.txt +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/setup.cfg +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientFieldTagAsynchH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientFieldTagAsynchH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientFieldTagServerH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientFieldTagServerH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientSource_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/Converters_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBFieldTagAsynchH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBFieldTagAsynchH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBFieldTagServerH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBFieldTagServerH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBaseSource_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DataSourceDecoders_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DataSourceFactory_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DataSourcePool_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DataSource_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DecoderPool_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EDimH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EDimH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EDimensionsH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EDimensionsH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EDocH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EDocH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EFileH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EFileH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EGroupH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EGroupH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ESymbolH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ESymbolH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ElementH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ElementH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ElementThread_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/Element_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/Errors_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FElementH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FElementH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FElementWithAttrH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FElementWithAttrH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FetchNameHandler_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FileWriterH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/H5PYWriter_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/InnerXMLParser_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/MYSQLSource_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NTP_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NXSDataWriterH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NXSDataWriterH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NXSFromXMLH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NXSFromXMLH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ORACLESource_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/PGSQLSource_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ProxyHelper.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ProxyTools_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/PyEvalTangoSourceH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/PyEvalTangoSourceH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ServerSetUp.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/SimpleServer.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/SimpleServerSetUp.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/StreamSet_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TNObject_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoClassID.txt +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoDataWriterH5CppH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoDataWriterH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoDataWriterH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoFieldTagAsynchH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoFieldTagAsynchH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoFieldTagServerH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoFieldTagServerH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoSource_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TgDevice_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TgGroup_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TgMember_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ThreadPool_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TstDataSource.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/UINT32decoder_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/UTF8decoder_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/VDEOdecoder_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/XMLFieldTagAsynchH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/XMLFieldTagAsynchH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/XMLFieldTagServerH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/XMLFieldTagServerH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/XMLFieldTagWriterH5Cpp_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/XMLFieldTagWriterH5PY_test.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/__init__.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/__main__.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/main.py +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/mydb.pgsql +0 -0
- {nxswriter-3.8.1 → nxswriter-3.9.0}/test/sttest.py +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env bash
|
|
2
2
|
|
|
3
3
|
# restart mysqldb
|
|
4
|
-
if [ "$1" = "debian11" ]; then
|
|
4
|
+
if [ "$1" = "debian11" ] || [ "$1" = "debian12" ]; then
|
|
5
5
|
docker exec --user root ndts service mariadb restart
|
|
6
6
|
else
|
|
7
7
|
# workaround for a bug in debian9, i.e. starting mysql hangs
|
|
8
8
|
docker exec --user root ndts service mysql stop
|
|
9
|
-
if [ "$1" = "ubuntu20.04" ] || [ "$1" = "ubuntu20.10" ] || [ "$1" = "ubuntu21.04" ] || [ "$1" = "ubuntu22.04" ]; then
|
|
9
|
+
if [ "$1" = "ubuntu20.04" ] || [ "$1" = "ubuntu20.10" ] || [ "$1" = "ubuntu21.04" ] || [ "$1" = "ubuntu22.04" ] || [ "$1" = "ubuntu23.04" ]; then
|
|
10
10
|
# docker exec --user root ndts /bin/bash -c 'mkdir -p /var/lib/mysql'
|
|
11
11
|
# docker exec --user root ndts /bin/bash -c 'chown mysql:mysql /var/lib/mysql'
|
|
12
12
|
docker exec --user root ndts /bin/bash -c 'usermod -d /var/lib/mysql/ mysql'
|
|
@@ -23,7 +23,7 @@ if [ "$?" != "0" ]; then exit 255; fi
|
|
|
23
23
|
docker exec --user root ndts /bin/bash -c 'export DEBIAN_FRONTEND=noninteractive; apt-get -qq update; apt-get -qq install -y tango-db tango-common; sleep 10'
|
|
24
24
|
if [ "$?" != "0" ]; then exit 255; fi
|
|
25
25
|
|
|
26
|
-
if [ "$1" = "ubuntu20.04" ] || [ "$1" = "ubuntu20.10" ] || [ "$1" = "ubuntu21.04" ] || [ "$1" = "ubuntu21.10" ] || [ "$1" = "ubuntu22.04" ]; then
|
|
26
|
+
if [ "$1" = "ubuntu20.04" ] || [ "$1" = "ubuntu20.10" ] || [ "$1" = "ubuntu21.04" ] || [ "$1" = "ubuntu21.10" ] || [ "$1" = "ubuntu22.04" ] || [ "$1" = "ubuntu23.04" ]; then
|
|
27
27
|
# docker exec --user tango ndts /bin/bash -c '/usr/lib/tango/DataBaseds 2 -ORBendPoint giop:tcp::10000 &'
|
|
28
28
|
docker exec --user root ndts /bin/bash -c 'echo -e "[client]\nuser=tango\nhost=127.0.0.1\npassword=rootpw" > /var/lib/tango/.my.cnf'
|
|
29
29
|
docker exec --user root ndts /bin/bash -c 'echo -e "[client]\nuser=root\npassword=rootpw" > /root/.my.cnf'
|
|
@@ -43,7 +43,7 @@ if [ "$2" = "2" ]; then
|
|
|
43
43
|
docker exec --user root ndts /bin/sh -c 'apt-get -qq update; apt-get -qq install -y python-pytango nxsconfigserver-db python-nxstools'
|
|
44
44
|
else
|
|
45
45
|
echo "install python3-pytango"
|
|
46
|
-
if [ "$1" = "ubuntu20.04" ] || [ "$1" = "ubuntu20.10" ] || [ "$1" = "ubuntu21.04" ] || [ "$1" = "ubuntu22.04" ] || [ "$1" = "debian11" ]; then
|
|
46
|
+
if [ "$1" = "ubuntu20.04" ] || [ "$1" = "ubuntu20.10" ] || [ "$1" = "ubuntu21.04" ] || [ "$1" = "ubuntu23.04" ] || [ "$1" = "ubuntu22.04" ] || [ "$1" = "debian11" ] || [ "$1" = "debian12" ]; then
|
|
47
47
|
docker exec --user root ndts /bin/sh -c 'apt-get -qq update; apt-get -qq install -y python3-tango nxsconfigserver-db python3-nxstools'
|
|
48
48
|
else
|
|
49
49
|
docker exec --user root ndts /bin/sh -c 'apt-get -qq update; apt-get -qq install -y python3-pytango nxsconfigserver-db python3-nxstools'
|
|
@@ -24,7 +24,7 @@ jobs:
|
|
|
24
24
|
runs-on: ubuntu-latest
|
|
25
25
|
strategy:
|
|
26
26
|
matrix:
|
|
27
|
-
os: [debian11, debian10,
|
|
27
|
+
os: [debian12, debian11, debian10, ubuntu23.04, ubuntu22.04, ubuntu20.04]
|
|
28
28
|
steps:
|
|
29
29
|
- uses: actions/checkout@v2
|
|
30
30
|
- uses: actions/setup-python@v2
|
|
@@ -53,7 +53,7 @@ jobs:
|
|
|
53
53
|
runs-on: ubuntu-latest
|
|
54
54
|
strategy:
|
|
55
55
|
matrix:
|
|
56
|
-
os: [debian10
|
|
56
|
+
os: [debian10]
|
|
57
57
|
steps:
|
|
58
58
|
- uses: actions/checkout@v2
|
|
59
59
|
- uses: actions/setup-python@v2
|
|
@@ -1,3 +1,11 @@
|
|
|
1
|
+
2023-10-11 Jan Kotanski <jankotan@gmail.com>
|
|
2
|
+
* add support for a filter tag (#154)
|
|
3
|
+
* tagged as 3.9.0
|
|
4
|
+
|
|
5
|
+
2023-05-24 Jan Kotanski <jankotan@gmail.com>
|
|
6
|
+
* add support for ':/' in the link target (#147)
|
|
7
|
+
* tagged as 3.8.2
|
|
8
|
+
|
|
1
9
|
2023-03-07 Jan Kotanski <jankotan@gmail.com>
|
|
2
10
|
* add timestamps to stderr and stdout logs (#142)
|
|
3
11
|
* tagged as 3.8.1
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: nxswriter
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.9.0
|
|
4
4
|
Summary: Nexus Data writer implemented as a Tango Server
|
|
5
5
|
Home-page: https://github.com/nexdatas/nxsdatawriter
|
|
6
6
|
Author: Jan Kotanski, Eugen Wintersberger , Halil Pasic
|
|
@@ -72,7 +72,7 @@ Description: Welcome to NXSDataWriter's documentation!
|
|
|
72
72
|
Debian packages
|
|
73
73
|
"""""""""""""""
|
|
74
74
|
|
|
75
|
-
Debian `
|
|
75
|
+
Debian `bookworm`, `bullseye`, `buster` or Ubuntu `lunar`, `jammy`, `focal` packages can be found in the HDRI repository.
|
|
76
76
|
|
|
77
77
|
To install the debian packages, add the PGP repository key
|
|
78
78
|
|
|
@@ -87,7 +87,7 @@ Description: Welcome to NXSDataWriter's documentation!
|
|
|
87
87
|
.. code-block:: console
|
|
88
88
|
|
|
89
89
|
$ cd /etc/apt/sources.list.d
|
|
90
|
-
$ wget http://repos.pni-hdri.de/
|
|
90
|
+
$ wget http://repos.pni-hdri.de/bookworm-pni-hdri.list
|
|
91
91
|
|
|
92
92
|
To install tango server
|
|
93
93
|
|
|
@@ -64,7 +64,7 @@ Extract sources and run
|
|
|
64
64
|
Debian packages
|
|
65
65
|
"""""""""""""""
|
|
66
66
|
|
|
67
|
-
Debian `
|
|
67
|
+
Debian `bookworm`, `bullseye`, `buster` or Ubuntu `lunar`, `jammy`, `focal` packages can be found in the HDRI repository.
|
|
68
68
|
|
|
69
69
|
To install the debian packages, add the PGP repository key
|
|
70
70
|
|
|
@@ -79,7 +79,7 @@ and then download the corresponding source list
|
|
|
79
79
|
.. code-block:: console
|
|
80
80
|
|
|
81
81
|
$ cd /etc/apt/sources.list.d
|
|
82
|
-
$ wget http://repos.pni-hdri.de/
|
|
82
|
+
$ wget http://repos.pni-hdri.de/bookworm-pni-hdri.list
|
|
83
83
|
|
|
84
84
|
To install tango server
|
|
85
85
|
|
|
@@ -79,7 +79,7 @@ $ python setup.py install
|
|
|
79
79
|
.UNINDENT
|
|
80
80
|
.SS Debian packages
|
|
81
81
|
.sp
|
|
82
|
-
Debian \
|
|
82
|
+
Debian \fIbookworm\fP, \fIbullseye\fP, \fIbuster\fP or Ubuntu \fIlunar\fP, \fIjammy\fP, \fIfocal\fP packages can be found in the HDRI repository.
|
|
83
83
|
.sp
|
|
84
84
|
To install the debian packages, add the PGP repository key
|
|
85
85
|
.INDENT 0.0
|
|
@@ -102,7 +102,7 @@ and then download the corresponding source list
|
|
|
102
102
|
.nf
|
|
103
103
|
.ft C
|
|
104
104
|
$ cd /etc/apt/sources.list.d
|
|
105
|
-
$ wget http://repos.pni\-hdri.de/
|
|
105
|
+
$ wget http://repos.pni\-hdri.de/bookworm\-pni\-hdri.list
|
|
106
106
|
.ft P
|
|
107
107
|
.fi
|
|
108
108
|
.UNINDENT
|
|
@@ -164,14 +164,11 @@ class EAttribute(FElement):
|
|
|
164
164
|
nptype = self.h5Object.dtype
|
|
165
165
|
value = ''
|
|
166
166
|
|
|
167
|
-
if nptype
|
|
167
|
+
if nptype == "bool":
|
|
168
|
+
value = False
|
|
169
|
+
elif nptype != "string":
|
|
168
170
|
try:
|
|
169
|
-
|
|
170
|
-
#
|
|
171
|
-
if nptype == 'uint64':
|
|
172
|
-
value = numpy.iinfo(getattr(numpy, 'int64')).max
|
|
173
|
-
else:
|
|
174
|
-
value = numpy.iinfo(getattr(numpy, nptype)).max
|
|
171
|
+
value = numpy.iinfo(getattr(numpy, nptype)).max
|
|
175
172
|
except Exception:
|
|
176
173
|
try:
|
|
177
174
|
try:
|
|
@@ -56,6 +56,11 @@ class EField(FElementWithAttr):
|
|
|
56
56
|
#: (:obj:`dict` <:obj:`str`, :obj:`str`>) \
|
|
57
57
|
#: shape of the field, i.e. {index: length}
|
|
58
58
|
self.lengths = {}
|
|
59
|
+
#: (:obj:`dict` <:obj:`int`, \
|
|
60
|
+
#: (:obj:`int`, :obj:`str`, :obj:`str`, :obj:`str`) >) \
|
|
61
|
+
#: index filter lists, i.e. \
|
|
62
|
+
#: {index: (filter_id, name, id, cd_values, availability)}
|
|
63
|
+
self.filters = {}
|
|
59
64
|
#: (:obj:`bool`) True if field is stored in STEP mode
|
|
60
65
|
self.__extraD = False
|
|
61
66
|
#: (:obj:`str`) strategy, i.e. INIT, STEP, FINAL, POSTRUN
|
|
@@ -158,12 +163,41 @@ class EField(FElementWithAttr):
|
|
|
158
163
|
datafilter = None
|
|
159
164
|
# create Filter
|
|
160
165
|
|
|
161
|
-
|
|
166
|
+
datafilters = []
|
|
167
|
+
if (self.compression and self.rate) or self.shuffle:
|
|
162
168
|
datafilter = FileWriter.data_filter(self._lastObject())
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
169
|
+
if (self.compression and self.rate):
|
|
170
|
+
datafilter.rate = self.rate
|
|
171
|
+
datafilter.options = tuple(self.compression_opts)
|
|
172
|
+
datafilter.shuffle = self.shuffle
|
|
173
|
+
datafilter.filterid = self.compression
|
|
174
|
+
if self.shuffle:
|
|
175
|
+
datafilter.shuffle = self.shuffle
|
|
176
|
+
datafilters.append(datafilter)
|
|
177
|
+
if self.filters:
|
|
178
|
+
mindex = max(self.filters.keys())
|
|
179
|
+
for ind in range(mindex):
|
|
180
|
+
if ind in self.filters:
|
|
181
|
+
(filter_id, fname, cd_values, availability) = \
|
|
182
|
+
self.filters[ind]
|
|
183
|
+
datafilter = FileWriter.data_filter(self._lastObject())
|
|
184
|
+
|
|
185
|
+
datafilter.name = fname
|
|
186
|
+
datafilter.filterid = filter_id
|
|
187
|
+
datafilter.availability = availability
|
|
188
|
+
try:
|
|
189
|
+
if cd_values:
|
|
190
|
+
options = [int(vl) for vl in cd_values.split(",")]
|
|
191
|
+
datafilter.options = tuple(options)
|
|
192
|
+
except Exception:
|
|
193
|
+
if self._streams:
|
|
194
|
+
self._streams.error(
|
|
195
|
+
"EField::__createObject() - "
|
|
196
|
+
"Wrong filter cd_values ",
|
|
197
|
+
std=False)
|
|
198
|
+
|
|
199
|
+
raise Exception("Wrong filter cd_values")
|
|
200
|
+
datafilters.append(datafilter)
|
|
167
201
|
|
|
168
202
|
if sys.version_info < (3,):
|
|
169
203
|
name = name.encode()
|
|
@@ -193,9 +227,9 @@ class EField(FElementWithAttr):
|
|
|
193
227
|
mshape = [1]
|
|
194
228
|
else:
|
|
195
229
|
mshape = [0]
|
|
196
|
-
if
|
|
230
|
+
if datafilters:
|
|
197
231
|
f = self._lastObject().create_field(
|
|
198
|
-
name, dtype, mshape, [1],
|
|
232
|
+
name, dtype, mshape, [1], datafilters)
|
|
199
233
|
else:
|
|
200
234
|
f = self._lastObject().create_field(
|
|
201
235
|
name, dtype, mshape, [1])
|
|
@@ -605,12 +639,7 @@ class EField(FElementWithAttr):
|
|
|
605
639
|
value = False
|
|
606
640
|
elif nptype != "string":
|
|
607
641
|
try:
|
|
608
|
-
|
|
609
|
-
#
|
|
610
|
-
if nptype == 'uint64':
|
|
611
|
-
value = numpy.iinfo(getattr(numpy, 'int64')).max
|
|
612
|
-
else:
|
|
613
|
-
value = numpy.iinfo(getattr(numpy, nptype)).max
|
|
642
|
+
value = numpy.iinfo(getattr(numpy, nptype)).max
|
|
614
643
|
except Exception:
|
|
615
644
|
try:
|
|
616
645
|
try:
|
|
@@ -165,7 +165,7 @@ class ELink(FElement):
|
|
|
165
165
|
else:
|
|
166
166
|
target = ("".join(self.content)).strip().encode()
|
|
167
167
|
if target is not None:
|
|
168
|
-
if '
|
|
168
|
+
if ':/' not in str(target) \
|
|
169
169
|
and self.__groupTypes is not None and \
|
|
170
170
|
self.__groupTypes() is not None:
|
|
171
171
|
if sys.version_info > (3,):
|
|
@@ -76,9 +76,9 @@ class EStrategy(Element):
|
|
|
76
76
|
self.last.rate = 0
|
|
77
77
|
if self.last.rate > 9:
|
|
78
78
|
self.last.rate = 9
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
79
|
+
if "shuffle" in attrs.keys() and hasattr(self.last, "shuffle"):
|
|
80
|
+
self.last.shuffle = False \
|
|
81
|
+
if attrs["shuffle"].upper() == "FALSE" else True
|
|
82
82
|
|
|
83
83
|
def store(self, xml=None, globalJSON=None):
|
|
84
84
|
""" stores the tag content
|
|
@@ -171,3 +171,49 @@ class EDim(Element):
|
|
|
171
171
|
if dh:
|
|
172
172
|
self._beforeLast().lengths[self.__index] = str(
|
|
173
173
|
dh.cast("string"))
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
class EFilter(Element):
|
|
177
|
+
|
|
178
|
+
""" filter tag element
|
|
179
|
+
"""
|
|
180
|
+
|
|
181
|
+
def __init__(self, attrs, last, streams=None):
|
|
182
|
+
""" constructor
|
|
183
|
+
|
|
184
|
+
:param attrs: dictionary of the tag attributes
|
|
185
|
+
:type attrs: :obj:`dict` <:obj:`str`, :obj:`str`>
|
|
186
|
+
:param last: the last element from the stack
|
|
187
|
+
:type last: :class:`nxswriter.Element.Element`
|
|
188
|
+
:param streams: tango-like steamset class
|
|
189
|
+
:type streams: :class:`StreamSet` or :class:`tango.Device_4Impl`
|
|
190
|
+
"""
|
|
191
|
+
Element.__init__(self, "filter", attrs, last, streams=streams)
|
|
192
|
+
index = 0
|
|
193
|
+
try:
|
|
194
|
+
if ("index" in attrs.keys()):
|
|
195
|
+
index = int(attrs["index"])
|
|
196
|
+
except Exception:
|
|
197
|
+
pass
|
|
198
|
+
try:
|
|
199
|
+
filter_id = int(attrs["id"])
|
|
200
|
+
except Exception:
|
|
201
|
+
filter_id = 0
|
|
202
|
+
try:
|
|
203
|
+
name = attrs["name"]
|
|
204
|
+
except Exception:
|
|
205
|
+
name = ""
|
|
206
|
+
try:
|
|
207
|
+
cd_values = attrs["cd_values"]
|
|
208
|
+
except Exception:
|
|
209
|
+
cd_values = ""
|
|
210
|
+
try:
|
|
211
|
+
availability = attrs["availability"]
|
|
212
|
+
except Exception:
|
|
213
|
+
availability = ""
|
|
214
|
+
|
|
215
|
+
if filter_id or name:
|
|
216
|
+
self._beforeLast().filters[index] = (
|
|
217
|
+
filter_id, name, cd_values, availability)
|
|
218
|
+
#: (:obj:`int`) index attribute
|
|
219
|
+
self.__index = index
|
|
@@ -32,7 +32,7 @@ from .EAttribute import EAttribute
|
|
|
32
32
|
from .EStrategy import EStrategy
|
|
33
33
|
from .ELink import ELink
|
|
34
34
|
from .H5Elements import (
|
|
35
|
-
EDoc, ESymbol, EDimensions, EDim, EFile)
|
|
35
|
+
EDoc, ESymbol, EDimensions, EDim, EFile, EFilter)
|
|
36
36
|
from .DataSourceFactory import DataSourceFactory
|
|
37
37
|
from .ThreadPool import ThreadPool
|
|
38
38
|
from .InnerXMLParser import InnerXMLHandler
|
|
@@ -121,7 +121,7 @@ class NexusXMLHandler(sax.ContentHandler):
|
|
|
121
121
|
'symbols': Element, 'symbol': ESymbol,
|
|
122
122
|
'dimensions': EDimensions, 'dim': EDim,
|
|
123
123
|
'enumeration': Element, 'item': Element,
|
|
124
|
-
'strategy': EStrategy
|
|
124
|
+
'strategy': EStrategy, 'filter': EFilter
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
#: (:obj:`list` <:obj:`dict` <:obj:`str`, :obj:`str` > >) \
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 1.1
|
|
2
2
|
Name: nxswriter
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.9.0
|
|
4
4
|
Summary: Nexus Data writer implemented as a Tango Server
|
|
5
5
|
Home-page: https://github.com/nexdatas/nxsdatawriter
|
|
6
6
|
Author: Jan Kotanski, Eugen Wintersberger , Halil Pasic
|
|
@@ -72,7 +72,7 @@ Description: Welcome to NXSDataWriter's documentation!
|
|
|
72
72
|
Debian packages
|
|
73
73
|
"""""""""""""""
|
|
74
74
|
|
|
75
|
-
Debian `
|
|
75
|
+
Debian `bookworm`, `bullseye`, `buster` or Ubuntu `lunar`, `jammy`, `focal` packages can be found in the HDRI repository.
|
|
76
76
|
|
|
77
77
|
To install the debian packages, add the PGP repository key
|
|
78
78
|
|
|
@@ -87,7 +87,7 @@ Description: Welcome to NXSDataWriter's documentation!
|
|
|
87
87
|
.. code-block:: console
|
|
88
88
|
|
|
89
89
|
$ cd /etc/apt/sources.list.d
|
|
90
|
-
$ wget http://repos.pni-hdri.de/
|
|
90
|
+
$ wget http://repos.pni-hdri.de/bookworm-pni-hdri.list
|
|
91
91
|
|
|
92
92
|
To install tango server
|
|
93
93
|
|
|
@@ -74,12 +74,12 @@ class TestCommand(Command):
|
|
|
74
74
|
|
|
75
75
|
#: required python packages
|
|
76
76
|
install_requires = [
|
|
77
|
-
'h5py',
|
|
78
77
|
'pytz',
|
|
79
|
-
'numpy>1.6.0',
|
|
80
78
|
'lxml',
|
|
81
|
-
'
|
|
82
|
-
|
|
79
|
+
'numpy>1.6.0',
|
|
80
|
+
# 'fabio',
|
|
81
|
+
'nxstools>=3.50.0',
|
|
82
|
+
# 'h5py',
|
|
83
83
|
# 'pymysqldb',
|
|
84
84
|
# 'psycopg2-binary'
|
|
85
85
|
# 'psycopg2'
|
|
@@ -419,7 +419,7 @@ class Checker(object):
|
|
|
419
419
|
# if self._isNumeric(cnt[i]):
|
|
420
420
|
if self._isNumeric(cv):
|
|
421
421
|
if nxtype == "NX_BOOLEAN":
|
|
422
|
-
#
|
|
422
|
+
# print( "BOOL: ", values[i] ,cnt[i])
|
|
423
423
|
self._tc.assertEqual(
|
|
424
424
|
Types.Converters.toBool(values[i]), cnt[i])
|
|
425
425
|
else:
|
|
@@ -319,7 +319,7 @@ class ClientFieldTagWriterH5CppTest(unittest.TestCase):
|
|
|
319
319
|
self._sc.checkScalarField(
|
|
320
320
|
det, "ucounter64_canfail", "uint64", "NX_UINT64",
|
|
321
321
|
[self._counter[i] if not i % 2 else
|
|
322
|
-
numpy.iinfo(getattr(numpy, '
|
|
322
|
+
numpy.iinfo(getattr(numpy, 'uint64')).max
|
|
323
323
|
for i in range(len(self._counter))],
|
|
324
324
|
attrs={
|
|
325
325
|
"type": "NX_UINT64", "units": "m", "nexdatas_source": None,
|
|
@@ -1736,14 +1736,14 @@ class ClientFieldTagWriterH5CppTest(unittest.TestCase):
|
|
|
1736
1736
|
|
|
1737
1737
|
self._sc.checkSpectrumAttribute(
|
|
1738
1738
|
det, "spectrum_uint64_canfail", "uint64",
|
|
1739
|
-
[numpy.iinfo(getattr(numpy, '
|
|
1739
|
+
[numpy.iinfo(getattr(numpy, 'uint64')).max] * 1024)
|
|
1740
1740
|
self._sc.checkSpectrumAttribute(
|
|
1741
1741
|
det, "spectrum_bool_canfail", "bool",
|
|
1742
1742
|
[False] * 8)
|
|
1743
1743
|
|
|
1744
1744
|
self._sc.checkSpectrumAttribute(
|
|
1745
1745
|
field, "final_spectrum_uint64_canfail", "uint64",
|
|
1746
|
-
[numpy.iinfo(getattr(numpy, '
|
|
1746
|
+
[numpy.iinfo(getattr(numpy, 'uint64')).max] * 256)
|
|
1747
1747
|
self._sc.checkSpectrumAttribute(
|
|
1748
1748
|
field, "init_spectrum_bool_canfail", "bool",
|
|
1749
1749
|
[False] * 8)
|
|
@@ -2020,7 +2020,7 @@ class ClientFieldTagWriterH5CppTest(unittest.TestCase):
|
|
|
2020
2020
|
|
|
2021
2021
|
self._sc.checkSingleImageField(
|
|
2022
2022
|
det, "final_pco_uint_canfail", "uint64", "NX_UINT",
|
|
2023
|
-
[[numpy.iinfo(getattr(numpy, '
|
|
2023
|
+
[[numpy.iinfo(getattr(numpy, 'uint64')).max for el in rpco]
|
|
2024
2024
|
for rpco in self._pco1[0]],
|
|
2025
2025
|
attrs={"type": "NX_UINT", "units": "", "nexdatas_source": None,
|
|
2026
2026
|
"nexdatas_strategy": "FINAL", "nexdatas_canfail": "FAILED",
|
|
@@ -2826,7 +2826,7 @@ canfail="true"/>
|
|
|
2826
2826
|
|
|
2827
2827
|
self._sc.checkImageAttribute(
|
|
2828
2828
|
field, "image_uint64_canfail", "uint64",
|
|
2829
|
-
[[numpy.iinfo(getattr(numpy, '
|
|
2829
|
+
[[numpy.iinfo(getattr(numpy, 'uint64')).max] *
|
|
2830
2830
|
len(self._pco1[0][0])] * len(self._pco1[0]))
|
|
2831
2831
|
self._sc.checkImageAttribute(
|
|
2832
2832
|
field, "image_bool_canfail", "bool",
|
|
@@ -311,7 +311,7 @@ class ClientFieldTagWriterH5PYTest(unittest.TestCase):
|
|
|
311
311
|
self._sc.checkScalarField(
|
|
312
312
|
det, "ucounter64_canfail", "uint64", "NX_UINT64",
|
|
313
313
|
[self._counter[i] if not i % 2 else
|
|
314
|
-
numpy.iinfo(getattr(numpy, '
|
|
314
|
+
numpy.iinfo(getattr(numpy, 'uint64')).max
|
|
315
315
|
for i in range(len(self._counter))],
|
|
316
316
|
attrs={
|
|
317
317
|
"type": "NX_UINT64", "units": "m", "nexdatas_source": None,
|
|
@@ -1714,13 +1714,13 @@ class ClientFieldTagWriterH5PYTest(unittest.TestCase):
|
|
|
1714
1714
|
|
|
1715
1715
|
self._sc.checkSpectrumAttribute(
|
|
1716
1716
|
det, "spectrum_uint64_canfail", "uint64",
|
|
1717
|
-
[numpy.iinfo(getattr(numpy, '
|
|
1717
|
+
[numpy.iinfo(getattr(numpy, 'uint64')).max] * 1024)
|
|
1718
1718
|
self._sc.checkSpectrumAttribute(det, "spectrum_bool_canfail", "bool",
|
|
1719
1719
|
[False] * 8)
|
|
1720
1720
|
|
|
1721
1721
|
self._sc.checkSpectrumAttribute(
|
|
1722
1722
|
field, "final_spectrum_uint64_canfail", "uint64",
|
|
1723
|
-
[numpy.iinfo(getattr(numpy, '
|
|
1723
|
+
[numpy.iinfo(getattr(numpy, 'uint64')).max] * 256)
|
|
1724
1724
|
self._sc.checkSpectrumAttribute(
|
|
1725
1725
|
field, "init_spectrum_bool_canfail", "bool",
|
|
1726
1726
|
[False] * 8)
|
|
@@ -1996,7 +1996,7 @@ class ClientFieldTagWriterH5PYTest(unittest.TestCase):
|
|
|
1996
1996
|
|
|
1997
1997
|
self._sc.checkSingleImageField(
|
|
1998
1998
|
det, "final_pco_uint_canfail", "uint64", "NX_UINT",
|
|
1999
|
-
[[numpy.iinfo(getattr(numpy, '
|
|
1999
|
+
[[numpy.iinfo(getattr(numpy, 'uint64')).max for el in rpco]
|
|
2000
2000
|
for rpco in self._pco1[0]],
|
|
2001
2001
|
attrs={"type": "NX_UINT", "units": "", "nexdatas_source": None,
|
|
2002
2002
|
"nexdatas_strategy": "FINAL",
|
|
@@ -2800,7 +2800,7 @@ class ClientFieldTagWriterH5PYTest(unittest.TestCase):
|
|
|
2800
2800
|
|
|
2801
2801
|
self._sc.checkImageAttribute(
|
|
2802
2802
|
field, "image_uint64_canfail", "uint64",
|
|
2803
|
-
[[numpy.iinfo(getattr(numpy, '
|
|
2803
|
+
[[numpy.iinfo(getattr(numpy, 'uint64')).max] *
|
|
2804
2804
|
len(self._pco1[0][0])] * len(self._pco1[0]))
|
|
2805
2805
|
self._sc.checkImageAttribute(
|
|
2806
2806
|
field, "image_bool_canfail", "bool",
|
|
@@ -737,7 +737,7 @@ class DBFieldTagWriterH5CppTest(unittest.TestCase):
|
|
|
737
737
|
"nexdatas_canfail_error": None})
|
|
738
738
|
self._sc.checkScalarField(
|
|
739
739
|
det, "pid_scalar_uint", "uint64", "NX_UINT", [
|
|
740
|
-
numpy.iinfo(getattr(numpy, '
|
|
740
|
+
numpy.iinfo(getattr(numpy, 'uint64')).max] * 3,
|
|
741
741
|
attrs={"type": "NX_UINT", "units": "m", "nexdatas_source": None,
|
|
742
742
|
"nexdatas_strategy": "STEP", "nexdatas_canfail": "FAILED",
|
|
743
743
|
"nexdatas_canfail_error": None})
|
|
@@ -2418,7 +2418,7 @@ class DBFieldTagWriterH5CppTest(unittest.TestCase):
|
|
|
2418
2418
|
self._sc.checkImageField(
|
|
2419
2419
|
det, "pid_image_uint", "uint64", "NX_UINT",
|
|
2420
2420
|
[[[numpy.iinfo(
|
|
2421
|
-
getattr(numpy, '
|
|
2421
|
+
getattr(numpy, 'uint64')).max]]] * 3,
|
|
2422
2422
|
attrs={
|
|
2423
2423
|
"type": "NX_UINT", "units": "", "nexdatas_source": None,
|
|
2424
2424
|
"nexdatas_strategy": "STEP", "nexdatas_canfail": "FAILED",
|
|
@@ -738,7 +738,7 @@ $mycnf/>
|
|
|
738
738
|
"nexdatas_canfail_error": None})
|
|
739
739
|
self._sc.checkScalarField(
|
|
740
740
|
det, "pid_scalar_uint", "uint64", "NX_UINT", [
|
|
741
|
-
numpy.iinfo(getattr(numpy, '
|
|
741
|
+
numpy.iinfo(getattr(numpy, 'uint64')).max] * 3,
|
|
742
742
|
attrs={"type": "NX_UINT", "units": "m", "nexdatas_source": None,
|
|
743
743
|
"nexdatas_strategy": "STEP", "nexdatas_canfail": "FAILED",
|
|
744
744
|
"nexdatas_canfail_error": None})
|
|
@@ -2424,7 +2424,7 @@ $mycnf/>
|
|
|
2424
2424
|
|
|
2425
2425
|
self._sc.checkImageField(
|
|
2426
2426
|
det, "pid_image_uint", "uint64", "NX_UINT",
|
|
2427
|
-
[[[numpy.iinfo(getattr(numpy, '
|
|
2427
|
+
[[[numpy.iinfo(getattr(numpy, 'uint64')).max]]] * 3,
|
|
2428
2428
|
attrs={
|
|
2429
2429
|
"type": "NX_UINT", "units": "", "nexdatas_source": None,
|
|
2430
2430
|
"nexdatas_strategy": "STEP", "nexdatas_canfail": "FAILED",
|
|
@@ -145,7 +145,7 @@ class DataHolderTest(unittest.TestCase):
|
|
|
145
145
|
"ScalarLong64": ["int64", "DevLong64", 234],
|
|
146
146
|
"ScalarULong64": ["uint64", "DevULong64", 23],
|
|
147
147
|
"ScalarFloat": ["float32", "DevFloat", 12.234, 1e-5],
|
|
148
|
-
"ScalarDouble": ["float64", "DevDouble", -2.456673e+
|
|
148
|
+
"ScalarDouble": ["float64", "DevDouble", -2.456673e+01, 1e-14],
|
|
149
149
|
"ScalarString": ["string", "DevString", "MyTrue"],
|
|
150
150
|
# "State":[ "string", "DevState", tango._tango.DevState.ON],
|
|
151
151
|
}
|
|
@@ -388,8 +388,8 @@ class DataHolderTest(unittest.TestCase):
|
|
|
388
388
|
}
|
|
389
389
|
|
|
390
390
|
arrs["i"] = {
|
|
391
|
-
"ScalarShort": ["int16", "DevShort",
|
|
392
|
-
"ScalarLong": ["int64", "DevLong",
|
|
391
|
+
"ScalarShort": ["int16", "DevShort", 123],
|
|
392
|
+
"ScalarLong": ["int64", "DevLong", 124],
|
|
393
393
|
"ScalarLong64": ["int64", "DevLong64", 234],
|
|
394
394
|
}
|
|
395
395
|
|
|
@@ -402,7 +402,7 @@ class DataHolderTest(unittest.TestCase):
|
|
|
402
402
|
|
|
403
403
|
arrs["f"] = {
|
|
404
404
|
"ScalarFloat": ["float32", "DevFloat", 12.234, 1e-5],
|
|
405
|
-
"ScalarDouble": ["float64", "DevDouble",
|
|
405
|
+
"ScalarDouble": ["float64", "DevDouble", 2.456673e+02, 1e-14],
|
|
406
406
|
}
|
|
407
407
|
|
|
408
408
|
arrs["s"] = {
|
|
@@ -547,13 +547,13 @@ class DataHolderTest(unittest.TestCase):
|
|
|
547
547
|
}
|
|
548
548
|
|
|
549
549
|
arrs["i"] = {
|
|
550
|
-
"SpectrumShort": ["int16", "DevShort",
|
|
551
|
-
"SpectrumLong": ["int64", "DevLong",
|
|
552
|
-
"SpectrumLong64": ["int64", "DevLong64",
|
|
550
|
+
"SpectrumShort": ["int16", "DevShort", 3, [1, 0]],
|
|
551
|
+
"SpectrumLong": ["int64", "DevLong", 4, [1, 0]],
|
|
552
|
+
"SpectrumLong64": ["int64", "DevLong64", 4, [1, 0]],
|
|
553
553
|
}
|
|
554
554
|
|
|
555
555
|
arrs["u"] = {
|
|
556
|
-
"SpectrumUChar": ["uint8", "DevUChar",
|
|
556
|
+
"SpectrumUChar": ["uint8", "DevUChar", 3, [1, 0]],
|
|
557
557
|
"SpectrumULong": ["uint64", "DevULong", 2, [1, 0]],
|
|
558
558
|
"SpectrumUShort": ["uint16", "DevUShort", 1, [1, 0]],
|
|
559
559
|
"SpectrumULong64": ["uint64", "DevULong64", 3, [1, 0]],
|
|
@@ -561,7 +561,7 @@ class DataHolderTest(unittest.TestCase):
|
|
|
561
561
|
|
|
562
562
|
arrs["f"] = {
|
|
563
563
|
"SpectrumFloat": ["float32", "DevFloat", 12.234, [1, 0], 1e-5],
|
|
564
|
-
"SpectrumDouble": ["float64", "DevDouble",
|
|
564
|
+
"SpectrumDouble": ["float64", "DevDouble", 2.156673e+01, [1, 0],
|
|
565
565
|
1e-14],
|
|
566
566
|
}
|
|
567
567
|
|
|
@@ -596,7 +596,7 @@ class DataHolderTest(unittest.TestCase):
|
|
|
596
596
|
mlen = [
|
|
597
597
|
self.__rnd.randint(1, 10), self.__rnd.randint(0, 3)]
|
|
598
598
|
arr[k][2] = [
|
|
599
|
-
arr[k][2] * self.__rnd.randint(1,
|
|
599
|
+
arr[k][2] * self.__rnd.randint(1, 2)
|
|
600
600
|
for c in range(mlen[0])]
|
|
601
601
|
else:
|
|
602
602
|
mlen = [self.__rnd.randint(1, 10)]
|
|
@@ -654,13 +654,13 @@ class DataHolderTest(unittest.TestCase):
|
|
|
654
654
|
}
|
|
655
655
|
|
|
656
656
|
arrs["i"] = {
|
|
657
|
-
"SpectrumShort": ["int16", "DevShort",
|
|
658
|
-
"SpectrumLong": ["int64", "DevLong",
|
|
659
|
-
"SpectrumLong64": ["int64", "DevLong64",
|
|
657
|
+
"SpectrumShort": ["int16", "DevShort", 3, [1, 0]],
|
|
658
|
+
"SpectrumLong": ["int64", "DevLong", 4, [1, 0]],
|
|
659
|
+
"SpectrumLong64": ["int64", "DevLong64", 5, [1, 0]],
|
|
660
660
|
}
|
|
661
661
|
|
|
662
662
|
arrs["u"] = {
|
|
663
|
-
"SpectrumUChar": ["uint8", "DevUChar",
|
|
663
|
+
"SpectrumUChar": ["uint8", "DevUChar", 7, [1, 0]],
|
|
664
664
|
"SpectrumULong": ["uint64", "DevULong", 2, [1, 0]],
|
|
665
665
|
"SpectrumUShort": ["uint16", "DevUShort", 1, [1, 0]],
|
|
666
666
|
"SpectrumULong64": ["uint64", "DevULong64", 3, [1, 0]],
|
|
@@ -668,7 +668,7 @@ class DataHolderTest(unittest.TestCase):
|
|
|
668
668
|
|
|
669
669
|
arrs["f"] = {
|
|
670
670
|
"SpectrumFloat": ["float32", "DevFloat", 12.234, [1, 0], 1e-5],
|
|
671
|
-
"SpectrumDouble": ["float64", "DevDouble",
|
|
671
|
+
"SpectrumDouble": ["float64", "DevDouble", 2.456673e+01, [1, 0],
|
|
672
672
|
1e-14],
|
|
673
673
|
}
|
|
674
674
|
|
|
@@ -703,7 +703,7 @@ class DataHolderTest(unittest.TestCase):
|
|
|
703
703
|
mlen = [self.__rnd.randint(1, 10), self.__rnd.randint(
|
|
704
704
|
1, 10), self.__rnd.randint(0, 3)]
|
|
705
705
|
if arr[k][1] != "DevBoolean":
|
|
706
|
-
arr[k][2] = [[arr[k][2] * self.__rnd.randint(0,
|
|
706
|
+
arr[k][2] = [[arr[k][2] * self.__rnd.randint(0, 2)
|
|
707
707
|
for r in range(mlen[1])]
|
|
708
708
|
for c in range(mlen[0])]
|
|
709
709
|
else:
|