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.
Files changed (217) hide show
  1. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/install.sh +4 -4
  2. nxswriter-3.9.0/.ci/run.sh +9 -0
  3. {nxswriter-3.8.1 → nxswriter-3.9.0}/.github/workflows/tests.yml +2 -2
  4. {nxswriter-3.8.1 → nxswriter-3.9.0}/ChangeLog +8 -0
  5. {nxswriter-3.8.1 → nxswriter-3.9.0}/PKG-INFO +3 -3
  6. {nxswriter-3.8.1 → nxswriter-3.9.0}/README.rst +2 -2
  7. {nxswriter-3.8.1 → nxswriter-3.9.0}/man/nxswriter.1 +2 -2
  8. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/EAttribute.py +4 -7
  9. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/EField.py +42 -13
  10. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/ELink.py +1 -1
  11. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/EStrategy.py +3 -3
  12. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/H5Elements.py +46 -0
  13. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/NexusXMLHandler.py +2 -2
  14. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/Release.py +1 -1
  15. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter.egg-info/PKG-INFO +3 -3
  16. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter.egg-info/requires.txt +1 -3
  17. {nxswriter-3.8.1 → nxswriter-3.9.0}/setup.py +4 -4
  18. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/Checkers.py +1 -1
  19. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientFieldTagWriterH5Cpp_test.py +5 -5
  20. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientFieldTagWriterH5PY_test.py +5 -5
  21. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBFieldTagWriterH5Cpp_test.py +2 -2
  22. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBFieldTagWriterH5PY_test.py +2 -2
  23. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DataHolder_test.py +16 -16
  24. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EAttributeH5Cpp_test.py +16 -16
  25. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EAttributeH5PY_test.py +16 -16
  26. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EFieldH5Cpp_test.py +28 -28
  27. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EFieldH5PY_test.py +28 -28
  28. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EFieldReshapeH5Cpp_test.py +28 -28
  29. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EFieldReshapeH5PY_test.py +28 -28
  30. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ELinkH5Cpp_test.py +78 -64
  31. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ELinkH5PY_test.py +71 -61
  32. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EStrategyH5Cpp_test.py +2 -2
  33. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EStrategyH5PY_test.py +2 -2
  34. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FileWriterH5CppH5PY_test.py +3 -3
  35. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FileWriterH5Cpp_test.py +3 -3
  36. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/H5CppWriter_test.py +10 -10
  37. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NexusXMLHandlerH5Cpp_test.py +3 -2
  38. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NexusXMLHandlerH5PY_test.py +3 -2
  39. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/PyEvalSource_test.py +4 -4
  40. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoFieldTagWriterH5Cpp_test.py +11 -10
  41. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoFieldTagWriterH5PY_test.py +12 -11
  42. nxswriter-3.8.1/.ci/run.sh +0 -13
  43. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian10_py2/Dockerfile +0 -0
  44. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian10_py3/Dockerfile +0 -0
  45. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian11_py3/Dockerfile +0 -0
  46. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian8_py2/Dockerfile +0 -0
  47. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian8_py3/Dockerfile +0 -0
  48. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian9_py2/Dockerfile +0 -0
  49. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/debian9_py3/Dockerfile +0 -0
  50. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/ubuntu16.04_py2/Dockerfile +0 -0
  51. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/ubuntu16.04_py3/Dockerfile +0 -0
  52. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/ubuntu18.04_py2/Dockerfile +0 -0
  53. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/ubuntu18.04_py3/Dockerfile +0 -0
  54. {nxswriter-3.8.1 → nxswriter-3.9.0}/.ci/ubuntu20.04_py3/Dockerfile +0 -0
  55. {nxswriter-3.8.1 → nxswriter-3.9.0}/.flake8 +0 -0
  56. {nxswriter-3.8.1 → nxswriter-3.9.0}/.gitignore +0 -0
  57. {nxswriter-3.8.1 → nxswriter-3.9.0}/COPYRIGHT +0 -0
  58. {nxswriter-3.8.1 → nxswriter-3.9.0}/MANIFEST.in +0 -0
  59. {nxswriter-3.8.1 → nxswriter-3.9.0}/NXSDataWriter +0 -0
  60. {nxswriter-3.8.1 → nxswriter-3.9.0}/NXSDataWriter.xmi +0 -0
  61. {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/MNI.xml +0 -0
  62. {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/encodedImage.xml +0 -0
  63. {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/encodedImage4.xml +0 -0
  64. {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/scan.xml +0 -0
  65. {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/scan2.xml +0 -0
  66. {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/scan3.xml +0 -0
  67. {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/test.xml +0 -0
  68. {nxswriter-3.8.1 → nxswriter-3.9.0}/XMLExamples/trigger.xml +0 -0
  69. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc/Makefile +0 -0
  70. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc/conf.py +0 -0
  71. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc/index.rst +0 -0
  72. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc/make.bat +0 -0
  73. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc/nxswriter.rst +0 -0
  74. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrCanFail.html +0 -0
  75. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrCurrentFileId.html +0 -0
  76. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrErrors.html +0 -0
  77. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrFileName.html +0 -0
  78. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrJSONRecord.html +0 -0
  79. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrSkipAcquisition.html +0 -0
  80. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrStepsPerFile.html +0 -0
  81. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/AttrXMLSettings.html +0 -0
  82. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/Attributes.html +0 -0
  83. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/ClassDescription.html +0 -0
  84. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdCloseEntry.html +0 -0
  85. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdCloseEntryAsynch.html +0 -0
  86. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdCloseFile.html +0 -0
  87. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdOpenEntry.html +0 -0
  88. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdOpenEntryAsynch.html +0 -0
  89. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdOpenFile.html +0 -0
  90. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdRecord.html +0 -0
  91. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdRecordAsynch.html +0 -0
  92. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdState.html +0 -0
  93. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/CmdStatus.html +0 -0
  94. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/Commands.html +0 -0
  95. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/FullDocument.html +0 -0
  96. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/Properties.html +0 -0
  97. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/States.html +0 -0
  98. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/TitleBanner.html +0 -0
  99. {nxswriter-3.8.1 → nxswriter-3.9.0}/doc_html/index.html +0 -0
  100. {nxswriter-3.8.1 → nxswriter-3.9.0}/man/NXSDataWriter.1 +0 -0
  101. {nxswriter-3.8.1 → nxswriter-3.9.0}/man/nxsfromxml.1 +0 -0
  102. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxsfromxml +0 -0
  103. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/ClientSource.py +0 -0
  104. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/DBaseSource.py +0 -0
  105. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/DataHolder.py +0 -0
  106. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/DataSourceFactory.py +0 -0
  107. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/DataSourcePool.py +0 -0
  108. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/DataSources.py +0 -0
  109. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/DecoderPool.py +0 -0
  110. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/EGroup.py +0 -0
  111. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/Element.py +0 -0
  112. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/ElementThread.py +0 -0
  113. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/Errors.py +0 -0
  114. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/FElement.py +0 -0
  115. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/FetchNameHandler.py +0 -0
  116. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/InnerXMLParser.py +0 -0
  117. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/Metadata.py +0 -0
  118. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/NXSFromXML.py +0 -0
  119. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/NXSWriter.py +0 -0
  120. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/PyEvalSource.py +0 -0
  121. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/StreamSet.py +0 -0
  122. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/TangoDataWriter.py +0 -0
  123. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/TangoSource.py +0 -0
  124. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/ThreadPool.py +0 -0
  125. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/Types.py +0 -0
  126. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter/__init__.py +0 -0
  127. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter.egg-info/SOURCES.txt +0 -0
  128. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter.egg-info/dependency_links.txt +0 -0
  129. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter.egg-info/not-zip-safe +0 -0
  130. {nxswriter-3.8.1 → nxswriter-3.9.0}/nxswriter.egg-info/top_level.txt +0 -0
  131. {nxswriter-3.8.1 → nxswriter-3.9.0}/setup.cfg +0 -0
  132. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientFieldTagAsynchH5Cpp_test.py +0 -0
  133. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientFieldTagAsynchH5PY_test.py +0 -0
  134. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientFieldTagServerH5Cpp_test.py +0 -0
  135. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientFieldTagServerH5PY_test.py +0 -0
  136. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ClientSource_test.py +0 -0
  137. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/Converters_test.py +0 -0
  138. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBFieldTagAsynchH5Cpp_test.py +0 -0
  139. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBFieldTagAsynchH5PY_test.py +0 -0
  140. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBFieldTagServerH5Cpp_test.py +0 -0
  141. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBFieldTagServerH5PY_test.py +0 -0
  142. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DBaseSource_test.py +0 -0
  143. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DataSourceDecoders_test.py +0 -0
  144. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DataSourceFactory_test.py +0 -0
  145. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DataSourcePool_test.py +0 -0
  146. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DataSource_test.py +0 -0
  147. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/DecoderPool_test.py +0 -0
  148. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EDimH5Cpp_test.py +0 -0
  149. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EDimH5PY_test.py +0 -0
  150. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EDimensionsH5Cpp_test.py +0 -0
  151. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EDimensionsH5PY_test.py +0 -0
  152. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EDocH5Cpp_test.py +0 -0
  153. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EDocH5PY_test.py +0 -0
  154. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EFileH5Cpp_test.py +0 -0
  155. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EFileH5PY_test.py +0 -0
  156. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EGroupH5Cpp_test.py +0 -0
  157. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/EGroupH5PY_test.py +0 -0
  158. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ESymbolH5Cpp_test.py +0 -0
  159. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ESymbolH5PY_test.py +0 -0
  160. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ElementH5Cpp_test.py +0 -0
  161. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ElementH5PY_test.py +0 -0
  162. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ElementThread_test.py +0 -0
  163. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/Element_test.py +0 -0
  164. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/Errors_test.py +0 -0
  165. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FElementH5Cpp_test.py +0 -0
  166. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FElementH5PY_test.py +0 -0
  167. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FElementWithAttrH5Cpp_test.py +0 -0
  168. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FElementWithAttrH5PY_test.py +0 -0
  169. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FetchNameHandler_test.py +0 -0
  170. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/FileWriterH5PY_test.py +0 -0
  171. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/H5PYWriter_test.py +0 -0
  172. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/InnerXMLParser_test.py +0 -0
  173. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/MYSQLSource_test.py +0 -0
  174. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NTP_test.py +0 -0
  175. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NXSDataWriterH5Cpp_test.py +0 -0
  176. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NXSDataWriterH5PY_test.py +0 -0
  177. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NXSFromXMLH5Cpp_test.py +0 -0
  178. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/NXSFromXMLH5PY_test.py +0 -0
  179. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ORACLESource_test.py +0 -0
  180. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/PGSQLSource_test.py +0 -0
  181. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ProxyHelper.py +0 -0
  182. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ProxyTools_test.py +0 -0
  183. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/PyEvalTangoSourceH5Cpp_test.py +0 -0
  184. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/PyEvalTangoSourceH5PY_test.py +0 -0
  185. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ServerSetUp.py +0 -0
  186. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/SimpleServer.py +0 -0
  187. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/SimpleServerSetUp.py +0 -0
  188. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/StreamSet_test.py +0 -0
  189. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TNObject_test.py +0 -0
  190. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoClassID.txt +0 -0
  191. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoDataWriterH5CppH5PY_test.py +0 -0
  192. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoDataWriterH5Cpp_test.py +0 -0
  193. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoDataWriterH5PY_test.py +0 -0
  194. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoFieldTagAsynchH5Cpp_test.py +0 -0
  195. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoFieldTagAsynchH5PY_test.py +0 -0
  196. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoFieldTagServerH5Cpp_test.py +0 -0
  197. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoFieldTagServerH5PY_test.py +0 -0
  198. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TangoSource_test.py +0 -0
  199. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TgDevice_test.py +0 -0
  200. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TgGroup_test.py +0 -0
  201. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TgMember_test.py +0 -0
  202. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/ThreadPool_test.py +0 -0
  203. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/TstDataSource.py +0 -0
  204. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/UINT32decoder_test.py +0 -0
  205. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/UTF8decoder_test.py +0 -0
  206. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/VDEOdecoder_test.py +0 -0
  207. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/XMLFieldTagAsynchH5Cpp_test.py +0 -0
  208. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/XMLFieldTagAsynchH5PY_test.py +0 -0
  209. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/XMLFieldTagServerH5Cpp_test.py +0 -0
  210. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/XMLFieldTagServerH5PY_test.py +0 -0
  211. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/XMLFieldTagWriterH5Cpp_test.py +0 -0
  212. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/XMLFieldTagWriterH5PY_test.py +0 -0
  213. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/__init__.py +0 -0
  214. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/__main__.py +0 -0
  215. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/main.py +0 -0
  216. {nxswriter-3.8.1 → nxswriter-3.9.0}/test/mydb.pgsql +0 -0
  217. {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'
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env bash
2
+ if [ "$2" = "2" ]; then
3
+ echo "run python-nxswriter tests"
4
+ docker exec ndts python test
5
+ else
6
+ echo "run python3-nxswriter tests"
7
+ docker exec ndts python3 -m pytest
8
+ fi
9
+ if [ "$?" != "0" ]; then exit 255; fi
@@ -24,7 +24,7 @@ jobs:
24
24
  runs-on: ubuntu-latest
25
25
  strategy:
26
26
  matrix:
27
- os: [debian11, debian10, debian9, ubuntu22.04, ubuntu20.04]
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, debian9]
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.8.1
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 `bullseye`, `buster`, `stretch` or Ubuntu `focal`, `bionic` packages can be found in the HDRI repository.
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/bullseye-pni-hdri.list
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 `bullseye`, `buster`, `stretch` or Ubuntu `focal`, `bionic` packages can be found in the HDRI repository.
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/bullseye-pni-hdri.list
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 \fIbullseye\fP, \fIbuster\fP, \fIstretch\fP or Ubuntu \fIfocal\fP, \fIbionic\fP packages can be found in the HDRI repository.
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/bullseye\-pni\-hdri.list
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 != "string":
167
+ if nptype == "bool":
168
+ value = False
169
+ elif nptype != "string":
168
170
  try:
169
- # workaround for bug #5618 in numpy for 1.8 < ver < 1.9.2
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
- if self.compression:
166
+ datafilters = []
167
+ if (self.compression and self.rate) or self.shuffle:
162
168
  datafilter = FileWriter.data_filter(self._lastObject())
163
- datafilter.rate = self.rate
164
- datafilter.shuffle = self.shuffle
165
- datafilter.options = tuple(self.compression_opts)
166
- datafilter.filterid = self.compression
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 datafilter:
230
+ if datafilters:
197
231
  f = self._lastObject().create_field(
198
- name, dtype, mshape, [1], datafilter)
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
- # workaround for bug #5618 in numpy for 1.8 < ver < 1.9.2
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 '://' not in str(target) \
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
- if "shuffle" in attrs.keys() and hasattr(self.last, "shuffle"):
80
- self.last.shuffle = False \
81
- if attrs["shuffle"].upper() == "FALSE" else True
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` > >) \
@@ -21,4 +21,4 @@
21
21
 
22
22
 
23
23
  #: package version
24
- __version__ = "3.8.1"
24
+ __version__ = "3.9.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 1.1
2
2
  Name: nxswriter
3
- Version: 3.8.1
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 `bullseye`, `buster`, `stretch` or Ubuntu `focal`, `bionic` packages can be found in the HDRI repository.
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/bullseye-pni-hdri.list
90
+ $ wget http://repos.pni-hdri.de/bookworm-pni-hdri.list
91
91
 
92
92
  To install tango server
93
93
 
@@ -1,6 +1,4 @@
1
- fabio
2
- h5py
3
1
  lxml
4
2
  numpy>1.6.0
5
- nxstools
3
+ nxstools>=3.50.0
6
4
  pytz
@@ -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
- 'fabio',
82
- 'nxstools', # '>=3.30.0'
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
- # print "BOOL: ", values[i] ,cnt[i]
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, 'int64')).max
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, 'int64')).max] * 1024)
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, 'int64')).max] * 256)
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, 'int64')).max for el in rpco]
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, 'int64')).max] *
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, 'int64')).max
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, 'int64')).max] * 1024)
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, 'int64')).max] * 256)
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, 'int64')).max for el in rpco]
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, 'int64')).max] *
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, 'int64')).max] * 3,
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, 'int64')).max]]] * 3,
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, 'int64')).max] * 3,
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, 'int64')).max]]] * 3,
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+02, 1e-14],
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", -123],
392
- "ScalarLong": ["int64", "DevLong", -124],
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", -2.456673e+02, 1e-14],
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", -13, [1, 0]],
551
- "SpectrumLong": ["int64", "DevLong", -14, [1, 0]],
552
- "SpectrumLong64": ["int64", "DevLong64", -24, [1, 0]],
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", 23, [1, 0]],
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", -2.456673e+02, [1, 0],
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, 3)
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", -13, [1, 0]],
658
- "SpectrumLong": ["int64", "DevLong", -14, [1, 0]],
659
- "SpectrumLong64": ["int64", "DevLong64", -24, [1, 0]],
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", 23, [1, 0]],
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", -2.456673e+02, [1, 0],
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, 3)
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: