quarchpy 2.2.9.dev3__py2.py3-none-any.whl → 2.2.9.dev4__py2.py3-none-any.whl

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 (499) hide show
  1. quarchpy/.idea/.name +1 -0
  2. quarchpy/.idea/inspectionProfiles/Project_Default.xml +50 -0
  3. quarchpy/.idea/inspectionProfiles/profiles_settings.xml +6 -0
  4. quarchpy/.idea/misc.xml +7 -0
  5. quarchpy/.idea/modules.xml +8 -0
  6. quarchpy/.idea/quarchpy.iml +12 -0
  7. quarchpy/.idea/vcs.xml +7 -0
  8. quarchpy/.idea/workspace.xml +273 -0
  9. quarchpy/__pycache__/__init__.cpython-311.pyc +0 -0
  10. quarchpy/__pycache__/__init__.cpython-312.pyc +0 -0
  11. quarchpy/__pycache__/_version.cpython-311.pyc +0 -0
  12. quarchpy/__pycache__/_version.cpython-312.pyc +0 -0
  13. quarchpy/__pycache__/connection.cpython-311.pyc +0 -0
  14. quarchpy/__pycache__/connection.cpython-312.pyc +0 -0
  15. quarchpy/__pycache__/run.cpython-311.pyc +0 -0
  16. quarchpy/__pycache__/run.cpython-312.pyc +0 -0
  17. quarchpy/_version.py +1 -1
  18. quarchpy/config_files/__pycache__/__init__.cpython-311.pyc +0 -0
  19. quarchpy/config_files/__pycache__/__init__.cpython-312.pyc +0 -0
  20. quarchpy/config_files/__pycache__/quarch_config_parser.cpython-311.pyc +0 -0
  21. quarchpy/config_files/__pycache__/quarch_config_parser.cpython-312.pyc +0 -0
  22. quarchpy/connection_specific/QPS/win-amd64/app.jar +0 -0
  23. quarchpy/connection_specific/QPS/win-amd64/app.properties +1 -1
  24. quarchpy/connection_specific/QPS/win-amd64/qis/qis.jar +0 -0
  25. quarchpy/connection_specific/QPS/win-amd64/qis/qis_lib/CInterface-2.3.jar +0 -0
  26. quarchpy/connection_specific/QPS/win-amd64/qis/qis_lib/QuarchCommon-2.0.jar +0 -0
  27. quarchpy/connection_specific/QPS/win-amd64/qis/qis_lib/{TorridonCommon-1.3.jar → TorridonCommon-1.1.jar} +0 -0
  28. quarchpy/connection_specific/QPS/win-amd64/qis/qis_lib/jmdns-3.5.9.jar +0 -0
  29. quarchpy/connection_specific/QPS/win-amd64/qis/qis_lib/usb4java-1.3.1.jar +0 -0
  30. quarchpy/connection_specific/QPS/win-amd64/qps-command-reference.html +3 -11
  31. quarchpy/connection_specific/QPS/win-amd64/qps.jar +0 -0
  32. quarchpy/connection_specific/QPS/win-amd64/qps_lib/JFXUtilities-1.0.jar +0 -0
  33. quarchpy/connection_specific/QPS/win-amd64/qps_lib/QuarchCommon-2.0.jar +0 -0
  34. quarchpy/connection_specific/QPS/win-amd64/qps_lib/lin-arm64/javafx-base-21.0.6-linux-aarch64.jar +0 -0
  35. quarchpy/connection_specific/QPS/win-amd64/qps_lib/lin-arm64/javafx-controls-21.0.6-linux-aarch64.jar +0 -0
  36. quarchpy/connection_specific/QPS/win-amd64/qps_lib/lin-arm64/javafx-fxml-21.0.6-linux-aarch64.jar +0 -0
  37. quarchpy/connection_specific/QPS/win-amd64/qps_lib/lin-arm64/javafx-graphics-21.0.6-linux-aarch64.jar +0 -0
  38. quarchpy/connection_specific/QPS/win-amd64/qps_lib/lin-arm64/javafx-swing-21.0.6-linux-aarch64.jar +0 -0
  39. quarchpy/connection_specific/QPS/win-amd64/qps_lib/lin-x64/{javafx-base-21.0.5-linux.jar → javafx-base-21.0.6-linux.jar} +0 -0
  40. quarchpy/connection_specific/QPS/win-amd64/qps_lib/lin-x64/{javafx-controls-21.0.5-linux.jar → javafx-controls-21.0.6-linux.jar} +0 -0
  41. quarchpy/connection_specific/QPS/win-amd64/qps_lib/lin-x64/{javafx-fxml-21.0.5-linux.jar → javafx-fxml-21.0.6-linux.jar} +0 -0
  42. quarchpy/connection_specific/QPS/win-amd64/qps_lib/lin-x64/{javafx-graphics-21.0.5-linux.jar → javafx-graphics-21.0.6-linux.jar} +0 -0
  43. quarchpy/connection_specific/QPS/win-amd64/qps_lib/lin-x64/{javafx-swing-21.0.5-linux.jar → javafx-swing-21.0.6-linux.jar} +0 -0
  44. quarchpy/connection_specific/QPS/win-amd64/qps_lib/{mac-x64/javafx-base-21.0.5-mac.jar → mac-arm64/javafx-base-21.0.6-mac-aarch64.jar} +0 -0
  45. quarchpy/connection_specific/QPS/win-amd64/qps_lib/mac-arm64/{javafx-controls-21.0.5-mac-aarch64.jar → javafx-controls-21.0.6-mac-aarch64.jar} +0 -0
  46. quarchpy/connection_specific/QPS/win-amd64/qps_lib/{mac-x64/javafx-fxml-21.0.5-mac.jar → mac-arm64/javafx-fxml-21.0.6-mac-aarch64.jar} +0 -0
  47. quarchpy/connection_specific/QPS/win-amd64/qps_lib/mac-arm64/{javafx-graphics-21.0.5-mac-aarch64.jar → javafx-graphics-21.0.6-mac-aarch64.jar} +0 -0
  48. quarchpy/connection_specific/QPS/win-amd64/qps_lib/mac-arm64/{javafx-swing-21.0.5-mac-aarch64.jar → javafx-swing-21.0.6-mac-aarch64.jar} +0 -0
  49. quarchpy/connection_specific/QPS/win-amd64/qps_lib/{mac-arm64/javafx-base-21.0.5-mac-aarch64.jar → mac-x64/javafx-base-21.0.6-mac.jar} +0 -0
  50. quarchpy/connection_specific/QPS/win-amd64/qps_lib/mac-x64/{javafx-controls-21.0.5-mac.jar → javafx-controls-21.0.6-mac.jar} +0 -0
  51. quarchpy/connection_specific/QPS/win-amd64/qps_lib/{mac-arm64/javafx-fxml-21.0.5-mac-aarch64.jar → mac-x64/javafx-fxml-21.0.6-mac.jar} +0 -0
  52. quarchpy/connection_specific/QPS/win-amd64/qps_lib/mac-x64/{javafx-graphics-21.0.5-mac.jar → javafx-graphics-21.0.6-mac.jar} +0 -0
  53. quarchpy/connection_specific/QPS/win-amd64/qps_lib/mac-x64/{javafx-swing-21.0.5-mac.jar → javafx-swing-21.0.6-mac.jar} +0 -0
  54. quarchpy/connection_specific/QPS/win-amd64/qps_lib/qutils-1.0.jar +0 -0
  55. quarchpy/connection_specific/QPS/win-amd64/qps_lib/win-x64/{javafx-base-21.0.5-win.jar → javafx-base-21.0.6-win.jar} +0 -0
  56. quarchpy/connection_specific/QPS/win-amd64/qps_lib/win-x64/{javafx-controls-21.0.5-win.jar → javafx-controls-21.0.6-win.jar} +0 -0
  57. quarchpy/connection_specific/QPS/win-amd64/qps_lib/win-x64/{javafx-fxml-21.0.5-win.jar → javafx-fxml-21.0.6-win.jar} +0 -0
  58. quarchpy/connection_specific/QPS/win-amd64/qps_lib/win-x64/{javafx-graphics-21.0.5-win.jar → javafx-graphics-21.0.6-win.jar} +0 -0
  59. quarchpy/connection_specific/QPS/win-amd64/qps_lib/win-x64/{javafx-swing-21.0.5-win.jar → javafx-swing-21.0.6-win.jar} +0 -0
  60. quarchpy/connection_specific/QPS/win-amd64/scriptCommands.txt +1 -23
  61. quarchpy/connection_specific/QPS/win-amd64/whats-new.txt +1 -1
  62. quarchpy/connection_specific/__pycache__/StreamChannels.cpython-311.pyc +0 -0
  63. quarchpy/connection_specific/__pycache__/StreamChannels.cpython-312.pyc +0 -0
  64. quarchpy/connection_specific/__pycache__/__init__.cpython-311.pyc +0 -0
  65. quarchpy/connection_specific/__pycache__/__init__.cpython-312.pyc +0 -0
  66. quarchpy/connection_specific/__pycache__/connection_QIS.cpython-311.pyc +0 -0
  67. quarchpy/connection_specific/__pycache__/connection_QIS.cpython-312.pyc +0 -0
  68. quarchpy/connection_specific/__pycache__/connection_QPS.cpython-311.pyc +0 -0
  69. quarchpy/connection_specific/__pycache__/connection_QPS.cpython-312.pyc +0 -0
  70. quarchpy/connection_specific/__pycache__/connection_ReST.cpython-311.pyc +0 -0
  71. quarchpy/connection_specific/__pycache__/connection_ReST.cpython-312.pyc +0 -0
  72. quarchpy/connection_specific/__pycache__/connection_Serial.cpython-311.pyc +0 -0
  73. quarchpy/connection_specific/__pycache__/connection_Serial.cpython-312.pyc +0 -0
  74. quarchpy/connection_specific/__pycache__/connection_TCP.cpython-311.pyc +0 -0
  75. quarchpy/connection_specific/__pycache__/connection_TCP.cpython-312.pyc +0 -0
  76. quarchpy/connection_specific/__pycache__/connection_USB.cpython-311.pyc +0 -0
  77. quarchpy/connection_specific/__pycache__/connection_USB.cpython-312.pyc +0 -0
  78. quarchpy/connection_specific/__pycache__/mDNS.cpython-311.pyc +0 -0
  79. quarchpy/connection_specific/__pycache__/mDNS.cpython-312.pyc +0 -0
  80. quarchpy/connection_specific/connection_QIS.py +6 -3
  81. quarchpy/connection_specific/jdk_j21_jres/__pycache__/__init__.cpython-311.pyc +0 -0
  82. quarchpy/connection_specific/jdk_j21_jres/__pycache__/__init__.cpython-312.pyc +0 -0
  83. quarchpy/connection_specific/jdk_j21_jres/__pycache__/fix_permissions.cpython-311.pyc +0 -0
  84. quarchpy/connection_specific/jdk_j21_jres/__pycache__/fix_permissions.cpython-312.pyc +0 -0
  85. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/bin/java +0 -0
  86. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/bin/jfr +0 -0
  87. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/bin/jrunscript +0 -0
  88. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/bin/jwebserver +0 -0
  89. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/bin/keytool +0 -0
  90. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/bin/rmiregistry +0 -0
  91. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/conf/jaxp.properties +180 -200
  92. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/conf/logging.properties +63 -63
  93. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/conf/management/management.properties +327 -326
  94. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/conf/net.properties +164 -162
  95. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/conf/security/java.policy +46 -0
  96. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/conf/security/java.security +1509 -1517
  97. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.base/asm.md +36 -36
  98. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.base/cldr.md +109 -100
  99. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.base/icu.md +518 -93
  100. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.base/public_suffix.md +399 -399
  101. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.base/unicode.md +103 -269
  102. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.desktop/freetype.md +649 -649
  103. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.desktop/giflib.md +50 -46
  104. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.smartcardio/pcsclite.md +57 -57
  105. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.xml/xalan.md +255 -255
  106. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/jdk.crypto.cryptoki/pkcs11cryptotoken.md +72 -76
  107. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler/ADDITIONAL_LICENSE_INFO +37 -0
  108. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler/ASSEMBLY_EXCEPTION +27 -0
  109. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler/LICENSE +347 -0
  110. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler.management/ADDITIONAL_LICENSE_INFO +37 -0
  111. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler.management/ASSEMBLY_EXCEPTION +27 -0
  112. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler.management/LICENSE +347 -0
  113. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/jdk.localedata/cldr.md +109 -100
  114. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/classlist +1502 -1587
  115. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/jexec +0 -0
  116. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/jfr/default.jfc +1126 -1152
  117. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/jfr/profile.jfc +1126 -1151
  118. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/jrt-fs.jar +0 -0
  119. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/jspawnhelper +0 -0
  120. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libawt.so +0 -0
  121. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libawt_headless.so +0 -0
  122. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libawt_xawt.so +0 -0
  123. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libdt_socket.so +0 -0
  124. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libextnet.so +0 -0
  125. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libfontmanager.so +0 -0
  126. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libfreetype.so +0 -0
  127. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libinstrument.so +0 -0
  128. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libj2gss.so +0 -0
  129. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libj2pcsc.so +0 -0
  130. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libj2pkcs11.so +0 -0
  131. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libjaas.so +0 -0
  132. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libjava.so +0 -0
  133. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libjavajpeg.so +0 -0
  134. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libjawt.so +0 -0
  135. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libjdwp.so +0 -0
  136. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libjimage.so +0 -0
  137. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libjli.so +0 -0
  138. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libjsig.so +0 -0
  139. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libjsound.so +0 -0
  140. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libjsvml.so +0 -0
  141. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/liblcms.so +0 -0
  142. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libmanagement.so +0 -0
  143. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libmanagement_agent.so +0 -0
  144. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libmanagement_ext.so +0 -0
  145. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libmlib_image.so +0 -0
  146. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libnet.so +0 -0
  147. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libnio.so +0 -0
  148. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libprefs.so +0 -0
  149. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/librmi.so +0 -0
  150. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libsctp.so +0 -0
  151. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libsplashscreen.so +0 -0
  152. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libsyslookup.so +0 -0
  153. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libverify.so +0 -0
  154. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libzip.so +0 -0
  155. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/modules +0 -0
  156. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/psfontj2d.properties +323 -323
  157. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/security/default.policy +235 -0
  158. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/security/public_suffix_list.dat +0 -0
  159. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/server/libjsig.so +0 -0
  160. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/server/libjvm.so +0 -0
  161. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/tzdb.dat +0 -0
  162. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/release +2 -2
  163. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/bin/java +0 -0
  164. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/bin/jfr +0 -0
  165. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/bin/jrunscript +0 -0
  166. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/bin/jwebserver +0 -0
  167. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/bin/keytool +0 -0
  168. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/bin/rmiregistry +0 -0
  169. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/conf/jaxp.properties +180 -200
  170. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/conf/logging.properties +63 -63
  171. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/conf/management/management.properties +327 -326
  172. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/conf/net.properties +164 -162
  173. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/conf/security/java.policy +46 -0
  174. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/conf/security/java.security +1510 -1518
  175. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.base/asm.md +36 -36
  176. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.base/cldr.md +109 -100
  177. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.base/icu.md +518 -93
  178. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.base/public_suffix.md +399 -399
  179. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.base/unicode.md +103 -269
  180. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.desktop/freetype.md +649 -649
  181. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.desktop/giflib.md +50 -46
  182. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.smartcardio/pcsclite.md +57 -57
  183. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.xml/xalan.md +255 -255
  184. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/jdk.crypto.cryptoki/pkcs11cryptotoken.md +72 -76
  185. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler/ADDITIONAL_LICENSE_INFO +37 -0
  186. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler/ASSEMBLY_EXCEPTION +27 -0
  187. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler/LICENSE +347 -0
  188. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler.management/ADDITIONAL_LICENSE_INFO +37 -0
  189. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler.management/ASSEMBLY_EXCEPTION +27 -0
  190. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler.management/LICENSE +347 -0
  191. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/jdk.localedata/cldr.md +109 -100
  192. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/classlist +1497 -1589
  193. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/jfr/default.jfc +1126 -1152
  194. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/jfr/profile.jfc +1126 -1151
  195. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/jrt-fs.jar +0 -0
  196. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/jspawnhelper +0 -0
  197. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libawt.dylib +0 -0
  198. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libawt_lwawt.dylib +0 -0
  199. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libdt_socket.dylib +0 -0
  200. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libextnet.dylib +0 -0
  201. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libfontmanager.dylib +0 -0
  202. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libfreetype.dylib +0 -0
  203. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libinstrument.dylib +0 -0
  204. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libj2gss.dylib +0 -0
  205. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libj2pcsc.dylib +0 -0
  206. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libj2pkcs11.dylib +0 -0
  207. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libjaas.dylib +0 -0
  208. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libjava.dylib +0 -0
  209. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libjavajpeg.dylib +0 -0
  210. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libjawt.dylib +0 -0
  211. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libjdwp.dylib +0 -0
  212. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libjimage.dylib +0 -0
  213. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libjli.dylib +0 -0
  214. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libjsig.dylib +0 -0
  215. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libjsound.dylib +0 -0
  216. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/liblcms.dylib +0 -0
  217. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libmanagement.dylib +0 -0
  218. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libmanagement_agent.dylib +0 -0
  219. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libmanagement_ext.dylib +0 -0
  220. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libmlib_image.dylib +0 -0
  221. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libnet.dylib +0 -0
  222. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libnio.dylib +0 -0
  223. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libosx.dylib +0 -0
  224. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libosxapp.dylib +0 -0
  225. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libosxkrb5.dylib +0 -0
  226. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libosxsecurity.dylib +0 -0
  227. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libosxui.dylib +0 -0
  228. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libprefs.dylib +0 -0
  229. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/librmi.dylib +0 -0
  230. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libsplashscreen.dylib +0 -0
  231. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libsyslookup.dylib +0 -0
  232. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libverify.dylib +0 -0
  233. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/libzip.dylib +0 -0
  234. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/modules +0 -0
  235. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/psfontj2d.properties +323 -323
  236. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/security/default.policy +235 -0
  237. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/security/public_suffix_list.dat +0 -0
  238. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/server/libjsig.dylib +0 -0
  239. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/server/libjvm.dylib +0 -0
  240. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/shaders.metallib +0 -0
  241. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/lib/tzdb.dat +0 -0
  242. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/release +2 -2
  243. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-console-l1-1-0.dll +0 -0
  244. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-datetime-l1-1-0.dll +0 -0
  245. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-debug-l1-1-0.dll +0 -0
  246. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-errorhandling-l1-1-0.dll +0 -0
  247. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-file-l1-1-0.dll +0 -0
  248. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-file-l1-2-0.dll +0 -0
  249. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-file-l2-1-0.dll +0 -0
  250. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-handle-l1-1-0.dll +0 -0
  251. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-heap-l1-1-0.dll +0 -0
  252. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-interlocked-l1-1-0.dll +0 -0
  253. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-libraryloader-l1-1-0.dll +0 -0
  254. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-localization-l1-2-0.dll +0 -0
  255. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-memory-l1-1-0.dll +0 -0
  256. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-namedpipe-l1-1-0.dll +0 -0
  257. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-processenvironment-l1-1-0.dll +0 -0
  258. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-processthreads-l1-1-0.dll +0 -0
  259. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-processthreads-l1-1-1.dll +0 -0
  260. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-profile-l1-1-0.dll +0 -0
  261. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-rtlsupport-l1-1-0.dll +0 -0
  262. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-string-l1-1-0.dll +0 -0
  263. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-synch-l1-1-0.dll +0 -0
  264. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-synch-l1-2-0.dll +0 -0
  265. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-sysinfo-l1-1-0.dll +0 -0
  266. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-timezone-l1-1-0.dll +0 -0
  267. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-core-util-l1-1-0.dll +0 -0
  268. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-conio-l1-1-0.dll +0 -0
  269. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-convert-l1-1-0.dll +0 -0
  270. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-environment-l1-1-0.dll +0 -0
  271. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-filesystem-l1-1-0.dll +0 -0
  272. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-heap-l1-1-0.dll +0 -0
  273. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-locale-l1-1-0.dll +0 -0
  274. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-math-l1-1-0.dll +0 -0
  275. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-multibyte-l1-1-0.dll +0 -0
  276. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-private-l1-1-0.dll +0 -0
  277. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-process-l1-1-0.dll +0 -0
  278. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-runtime-l1-1-0.dll +0 -0
  279. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-stdio-l1-1-0.dll +0 -0
  280. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-string-l1-1-0.dll +0 -0
  281. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-time-l1-1-0.dll +0 -0
  282. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/api-ms-win-crt-utility-l1-1-0.dll +0 -0
  283. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/awt.dll +0 -0
  284. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/dt_socket.dll +0 -0
  285. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/extnet.dll +0 -0
  286. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/fontmanager.dll +0 -0
  287. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/freetype.dll +0 -0
  288. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/instrument.dll +0 -0
  289. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/j2gss.dll +0 -0
  290. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/j2pcsc.dll +0 -0
  291. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/j2pkcs11.dll +0 -0
  292. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jaas.dll +0 -0
  293. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jabswitch.exe +0 -0
  294. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jaccessinspector.exe +0 -0
  295. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jaccesswalker.exe +0 -0
  296. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/java.dll +0 -0
  297. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/java.exe +0 -0
  298. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/javaaccessbridge.dll +0 -0
  299. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/javajpeg.dll +0 -0
  300. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/javaw.exe +0 -0
  301. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jawt.dll +0 -0
  302. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jdwp.dll +0 -0
  303. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jfr.exe +0 -0
  304. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jimage.dll +0 -0
  305. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jli.dll +0 -0
  306. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jrunscript.exe +0 -0
  307. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jsound.dll +0 -0
  308. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jsvml.dll +0 -0
  309. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/jwebserver.exe +0 -0
  310. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/keytool.exe +0 -0
  311. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/kinit.exe +0 -0
  312. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/klist.exe +0 -0
  313. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/ktab.exe +0 -0
  314. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/lcms.dll +0 -0
  315. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/management.dll +0 -0
  316. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/management_agent.dll +0 -0
  317. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/management_ext.dll +0 -0
  318. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/mlib_image.dll +0 -0
  319. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/msvcp140.dll +0 -0
  320. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/net.dll +0 -0
  321. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/nio.dll +0 -0
  322. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/prefs.dll +0 -0
  323. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/rmi.dll +0 -0
  324. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/rmiregistry.exe +0 -0
  325. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/server/jvm.dll +0 -0
  326. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/splashscreen.dll +0 -0
  327. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/sspi_bridge.dll +0 -0
  328. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/syslookup.dll +0 -0
  329. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/ucrtbase.dll +0 -0
  330. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/vcruntime140.dll +0 -0
  331. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/vcruntime140_1.dll +0 -0
  332. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/verify.dll +0 -0
  333. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/w2k_lsa_auth.dll +0 -0
  334. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/windowsaccessbridge-64.dll +0 -0
  335. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/bin/zip.dll +0 -0
  336. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/conf/jaxp.properties +180 -200
  337. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/conf/logging.properties +63 -63
  338. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/conf/management/management.properties +327 -326
  339. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/conf/net.properties +168 -166
  340. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/conf/security/java.policy +46 -0
  341. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/conf/security/java.security +59 -67
  342. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.base/asm.md +36 -36
  343. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.base/cldr.md +109 -100
  344. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.base/icu.md +518 -93
  345. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.base/public_suffix.md +399 -399
  346. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.base/unicode.md +103 -269
  347. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.desktop/freetype.md +649 -649
  348. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.desktop/giflib.md +50 -46
  349. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.xml/xalan.md +255 -255
  350. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/jdk.crypto.cryptoki/pkcs11cryptotoken.md +72 -76
  351. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler/ADDITIONAL_LICENSE_INFO +1 -0
  352. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler/ASSEMBLY_EXCEPTION +1 -0
  353. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler/LICENSE +1 -0
  354. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler.management/ADDITIONAL_LICENSE_INFO +1 -0
  355. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler.management/ASSEMBLY_EXCEPTION +1 -0
  356. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/jdk.internal.vm.compiler.management/LICENSE +1 -0
  357. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/lib/classlist +222 -313
  358. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/lib/jawt.lib +0 -0
  359. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/lib/jfr/default.jfc +1126 -1152
  360. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/lib/jfr/profile.jfc +1126 -1151
  361. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/lib/jrt-fs.jar +0 -0
  362. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/lib/jvm.lib +0 -0
  363. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/lib/modules +0 -0
  364. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/lib/psfontj2d.properties +323 -323
  365. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/lib/security/default.policy +251 -0
  366. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/lib/security/public_suffix_list.dat +0 -0
  367. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/lib/tzdb.dat +0 -0
  368. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/lib/tzmappings +146 -1
  369. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/release +2 -2
  370. quarchpy/connection_specific/mDNS.py +3 -1
  371. quarchpy/connection_specific/serial/__pycache__/__init__.cpython-311.pyc +0 -0
  372. quarchpy/connection_specific/serial/__pycache__/__init__.cpython-312.pyc +0 -0
  373. quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-311.pyc +0 -0
  374. quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-312.pyc +0 -0
  375. quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-311.pyc +0 -0
  376. quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-312.pyc +0 -0
  377. quarchpy/connection_specific/serial/__pycache__/win32.cpython-311.pyc +0 -0
  378. quarchpy/connection_specific/serial/__pycache__/win32.cpython-312.pyc +0 -0
  379. quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-311.pyc +0 -0
  380. quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-312.pyc +0 -0
  381. quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-311.pyc +0 -0
  382. quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-312.pyc +0 -0
  383. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-311.pyc +0 -0
  384. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-312.pyc +0 -0
  385. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-311.pyc +0 -0
  386. quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-312.pyc +0 -0
  387. quarchpy/connection_specific/usb_libs/__pycache__/libusb1.cpython-312.pyc +0 -0
  388. quarchpy/connection_specific/usb_libs/__pycache__/usb1.cpython-312.pyc +0 -0
  389. quarchpy/connection_specific/usb_libs/usb1.py +2360 -2360
  390. quarchpy/debug/SystemTest.py +17 -38
  391. quarchpy/debug/__pycache__/SystemTest.cpython-311.pyc +0 -0
  392. quarchpy/debug/__pycache__/SystemTest.cpython-312.pyc +0 -0
  393. quarchpy/debug/__pycache__/__init__.cpython-311.pyc +0 -0
  394. quarchpy/debug/__pycache__/__init__.cpython-312.pyc +0 -0
  395. quarchpy/debug/__pycache__/module_debug.cpython-311.pyc +0 -0
  396. quarchpy/debug/__pycache__/module_debug.cpython-312.pyc +0 -0
  397. quarchpy/debug/__pycache__/simple_terminal.cpython-311.pyc +0 -0
  398. quarchpy/debug/__pycache__/simple_terminal.cpython-312.pyc +0 -0
  399. quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-311.pyc +0 -0
  400. quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-312.pyc +0 -0
  401. quarchpy/debug/__pycache__/versionCompare.cpython-311.pyc +0 -0
  402. quarchpy/debug/__pycache__/versionCompare.cpython-312.pyc +0 -0
  403. quarchpy/debug/module_debug.py +1 -0
  404. quarchpy/device/__pycache__/__init__.cpython-311.pyc +0 -0
  405. quarchpy/device/__pycache__/__init__.cpython-312.pyc +0 -0
  406. quarchpy/device/__pycache__/device.cpython-311.pyc +0 -0
  407. quarchpy/device/__pycache__/device.cpython-312.pyc +0 -0
  408. quarchpy/device/__pycache__/quarchArray.cpython-311.pyc +0 -0
  409. quarchpy/device/__pycache__/quarchArray.cpython-312.pyc +0 -0
  410. quarchpy/device/__pycache__/quarchPPM.cpython-311.pyc +0 -0
  411. quarchpy/device/__pycache__/quarchPPM.cpython-312.pyc +0 -0
  412. quarchpy/device/__pycache__/quarchQPS.cpython-311.pyc +0 -0
  413. quarchpy/device/__pycache__/quarchQPS.cpython-312.pyc +0 -0
  414. quarchpy/device/__pycache__/scanDevices.cpython-311.pyc +0 -0
  415. quarchpy/device/__pycache__/scanDevices.cpython-312.pyc +0 -0
  416. quarchpy/device/device.py +0 -1
  417. quarchpy/device/quarchPPM.py +5 -4
  418. quarchpy/device/quarchQPS.py +67 -95
  419. quarchpy/device/scanDevices.py +3 -3
  420. quarchpy/disk_test/__pycache__/AbsDiskFinder.cpython-311.pyc +0 -0
  421. quarchpy/disk_test/__pycache__/AbsDiskFinder.cpython-312.pyc +0 -0
  422. quarchpy/disk_test/__pycache__/DiskTargetSelection.cpython-311.pyc +0 -0
  423. quarchpy/disk_test/__pycache__/DiskTargetSelection.cpython-312.pyc +0 -0
  424. quarchpy/disk_test/__pycache__/__init__.cpython-311.pyc +0 -0
  425. quarchpy/disk_test/__pycache__/__init__.cpython-312.pyc +0 -0
  426. quarchpy/disk_test/__pycache__/iometerDiskFinder.cpython-311.pyc +0 -0
  427. quarchpy/disk_test/__pycache__/iometerDiskFinder.cpython-312.pyc +0 -0
  428. quarchpy/fio/FIO_interface.py +1 -0
  429. quarchpy/fio/__pycache__/FIO_interface.cpython-311.pyc +0 -0
  430. quarchpy/fio/__pycache__/FIO_interface.cpython-312.pyc +0 -0
  431. quarchpy/fio/__pycache__/__init__.cpython-311.pyc +0 -0
  432. quarchpy/fio/__pycache__/__init__.cpython-312.pyc +0 -0
  433. quarchpy/fio/test_performance_class.py +533 -0
  434. quarchpy/iometer/__pycache__/__init__.cpython-311.pyc +0 -0
  435. quarchpy/iometer/__pycache__/__init__.cpython-312.pyc +0 -0
  436. quarchpy/iometer/__pycache__/gen_iometer_template.cpython-311.pyc +0 -0
  437. quarchpy/iometer/__pycache__/gen_iometer_template.cpython-312.pyc +0 -0
  438. quarchpy/iometer/__pycache__/iometerFuncs.cpython-311.pyc +0 -0
  439. quarchpy/iometer/__pycache__/iometerFuncs.cpython-312.pyc +0 -0
  440. quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-311.pyc +0 -0
  441. quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-312.pyc +0 -0
  442. quarchpy/qis/__pycache__/__init__.cpython-311.pyc +0 -0
  443. quarchpy/qis/__pycache__/__init__.cpython-312.pyc +0 -0
  444. quarchpy/qis/__pycache__/qisFuncs.cpython-311.pyc +0 -0
  445. quarchpy/qis/__pycache__/qisFuncs.cpython-312.pyc +0 -0
  446. quarchpy/qis/qisFuncs.py +50 -45
  447. quarchpy/qps/__pycache__/__init__.cpython-311.pyc +0 -0
  448. quarchpy/qps/__pycache__/__init__.cpython-312.pyc +0 -0
  449. quarchpy/qps/__pycache__/qpsFuncs.cpython-311.pyc +0 -0
  450. quarchpy/qps/__pycache__/qpsFuncs.cpython-312.pyc +0 -0
  451. quarchpy/qps/qpsFuncs.py +17 -10
  452. quarchpy/run.py +3 -3
  453. quarchpy/user_interface/__pycache__/__init__.cpython-311.pyc +0 -0
  454. quarchpy/user_interface/__pycache__/__init__.cpython-312.pyc +0 -0
  455. quarchpy/user_interface/__pycache__/user_interface.cpython-311.pyc +0 -0
  456. quarchpy/user_interface/__pycache__/user_interface.cpython-312.pyc +0 -0
  457. quarchpy/utilities/TestCenter.py +2 -2
  458. quarchpy/utilities/__pycache__/TestCenter.cpython-311.pyc +0 -0
  459. quarchpy/utilities/__pycache__/TestCenter.cpython-312.pyc +0 -0
  460. quarchpy/utilities/__pycache__/TimeValue.cpython-311.pyc +0 -0
  461. quarchpy/utilities/__pycache__/TimeValue.cpython-312.pyc +0 -0
  462. quarchpy/utilities/__pycache__/Version.cpython-311.pyc +0 -0
  463. quarchpy/utilities/__pycache__/Version.cpython-312.pyc +0 -0
  464. quarchpy/utilities/__pycache__/__init__.cpython-311.pyc +0 -0
  465. quarchpy/utilities/__pycache__/__init__.cpython-312.pyc +0 -0
  466. {quarchpy-2.2.9.dev3.dist-info → quarchpy-2.2.9.dev4.dist-info}/METADATA +1 -1
  467. {quarchpy-2.2.9.dev3.dist-info → quarchpy-2.2.9.dev4.dist-info}/RECORD +469 -401
  468. quarchpy/connection_specific/QPS/win-amd64/qis/qis_lib/CInterface-2.5.jar +0 -0
  469. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/conf/jaxp-strict.properties.template +0 -123
  470. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.xml/schema10part1.md +0 -51
  471. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.xml/schema10part2.md +0 -50
  472. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.xml/xhtml10.md +0 -57
  473. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.xml/xhtml10schema.md +0 -150
  474. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.xml/xhtml11.md +0 -68
  475. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.xml/xhtml11schema.md +0 -60
  476. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.xml/xmlspec.md +0 -63
  477. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/java.xml/xmlxsd.md +0 -43
  478. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/legal/jdk.incubator.vector/sleef.md +0 -439
  479. quarchpy/connection_specific/jdk_j21_jres/lin_amd64_jdk_21_jre/lib/libsimdsort.so +0 -0
  480. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/conf/jaxp-strict.properties.template +0 -123
  481. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.xml/schema10part1.md +0 -51
  482. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.xml/schema10part2.md +0 -50
  483. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.xml/xhtml10.md +0 -57
  484. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.xml/xhtml10schema.md +0 -150
  485. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.xml/xhtml11.md +0 -68
  486. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.xml/xhtml11schema.md +0 -60
  487. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.xml/xmlspec.md +0 -63
  488. quarchpy/connection_specific/jdk_j21_jres/mac_amd64_jdk_21_jre/legal/java.xml/xmlxsd.md +0 -43
  489. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/conf/jaxp-strict.properties.template +0 -123
  490. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.xml/schema10part1.md +0 -51
  491. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.xml/schema10part2.md +0 -50
  492. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.xml/xhtml10.md +0 -57
  493. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.xml/xhtml10schema.md +0 -150
  494. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.xml/xhtml11.md +0 -68
  495. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.xml/xhtml11schema.md +0 -60
  496. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.xml/xmlspec.md +0 -63
  497. quarchpy/connection_specific/jdk_j21_jres/win_amd64_jdk_21_jre/legal/java.xml/xmlxsd.md +0 -43
  498. {quarchpy-2.2.9.dev3.dist-info → quarchpy-2.2.9.dev4.dist-info}/WHEEL +0 -0
  499. {quarchpy-2.2.9.dev3.dist-info → quarchpy-2.2.9.dev4.dist-info}/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
+ # -*- coding: future_fstrings -*-
1
2
  from quarchpy import *
2
3
  from quarchpy.device import *
3
- from quarchpy.connection_specific.jdk_j21_jres.fix_permissions import main as fix_permissions, find_java_permissions
4
4
  try:
5
5
  from importlib.metadata import distribution
6
6
  except:
@@ -49,11 +49,6 @@ def test_system_info():
49
49
  print(str(bytes(subprocess.check_output(['cat', '/etc/os-release'], stderr=subprocess.STDOUT)).decode()))
50
50
  print("Platform Release: " + platform.release())
51
51
 
52
- print("\nPYTHON\n------")
53
- try:
54
- print("Python Version: " + sys.version)
55
- except:
56
- print("Unable to detect Python version")
57
52
  try:
58
53
  print("Quarchpy Version: " + get_quarchpy_version())
59
54
  except:
@@ -63,8 +58,14 @@ def test_system_info():
63
58
  except Exception as e:
64
59
  print(e)
65
60
  print("Unable to detect Quarchpy location")
66
-
67
- print("\nJAVA\n----")
61
+ try:
62
+ print("Python Version: " + sys.version)
63
+ except:
64
+ print("Unable to detect Python version")
65
+ try:
66
+ print("QIS version number: " + get_QIS_version())
67
+ except:
68
+ print("Unable to detect QIS version")
68
69
  try:
69
70
  javaVersion = bytes(subprocess.check_output(['java', '-version'], stderr=subprocess.STDOUT)).decode()
70
71
  print("Java Version: " + str(javaVersion))
@@ -78,17 +79,12 @@ def test_system_info():
78
79
  print("Unable to detect java location"
79
80
  "If Java is not installed then QIS and QPS will NOT run")
80
81
  try:
81
- execute_permissions, message=find_java_permissions()
82
- print("Execute Permissions: ",execute_permissions, "\n",message)
82
+ find_java_permissions()
83
83
  except:
84
84
  print("Unable to get j21 java permissions")
85
- try:
86
- print("\nQIS version number: " + get_QIS_version())
87
- except Exception as e:
88
- print("\nUnable to detect QIS version. Exception:" +str(e))
89
85
 
86
+ # Scan for all quarch devices on the system
90
87
 
91
- # Scan for all quarch devices on the system
92
88
  def QuarchSimpleIdentify(device1):
93
89
  """
94
90
  Prints basic identification test data on the specified module, compatible with all Quarch devices
@@ -97,7 +93,7 @@ def QuarchSimpleIdentify(device1):
97
93
  ----------
98
94
  device1: quarchDevice
99
95
  Open connection to a quarch device
100
-
96
+
101
97
  """
102
98
  # Print the module name
103
99
  print("MODULE IDENTIFY TEST")
@@ -108,15 +104,7 @@ def QuarchSimpleIdentify(device1):
108
104
  print("")
109
105
  # Print the module identify and version information
110
106
  print("Module Identity Information: ")
111
- idn_info = device1.sendCommand("*idn?")
112
- print(idn_info)
113
- if "fixture" in idn_info.lower():
114
- print("\nFixture Identity Information: ")
115
-
116
- fixture_info = device1.sendCommand("fix idn?")
117
- print(fixture_info)
118
-
119
-
107
+ print(device1.sendCommand("*idn?"))
120
108
 
121
109
  def get_QIS_version():
122
110
  """
@@ -127,20 +115,15 @@ def get_QIS_version():
127
115
  -------
128
116
  version: str
129
117
  String representation of the QIS version number
130
-
118
+
131
119
  """
132
120
 
133
121
  qis_version = ""
134
122
  my_close_qis = False
135
- try:
136
- qisRunning=isQisRunning()
137
- except Exception as e:
138
- print("Exception occurred while checking if qis was already running. Error:\n"+str(e))
139
-
140
- if qisRunning == False:
123
+ if isQisRunning() == False:
141
124
  my_close_qis = True
142
125
  startLocalQis(headless=True)
143
-
126
+
144
127
  myQis = qisInterface()
145
128
  qis_version = myQis.sendAndReceiveCmd(cmd="$version")
146
129
  if "No Target Device Specified" in qis_version:
@@ -149,7 +132,6 @@ def get_QIS_version():
149
132
  myQis.sendAndReceiveCmd(cmd = "$shutdown")
150
133
  return qis_version
151
134
 
152
-
153
135
  def get_java_location():
154
136
  """
155
137
  Returns the location of java.
@@ -167,16 +149,14 @@ def get_java_location():
167
149
  location = "Unable to detect OS to check java version."
168
150
  return location
169
151
 
170
-
171
152
  def get_quarchpy_version():
172
153
  try:
173
154
  return __version__
174
155
  except:
175
156
  return "Unknown"
176
157
 
177
-
178
158
  def fix_usb():
179
- content_to_write = "SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"16d0\", MODE=\"0666\"\n" \
159
+ content_to_write = "SUBSYSTEM==\"usb\", ATTRS{idVendor}==\"16d0\", MODE=\"0666\"" \
180
160
  "SUBSYSTEM==\"usb_device\", ATTRS{idVendor}==\"16d0\", MODE=\"0666\""
181
161
 
182
162
  if "centos" in str(platform.platform()).lower():
@@ -220,7 +200,6 @@ def main (args=None):
220
200
  test_communication()
221
201
 
222
202
 
223
-
224
203
  if __name__ == "__main__":
225
204
  main([])
226
205
  #find_java_permissions()
@@ -1,3 +1,4 @@
1
+ # -*- coding: future_fstrings -*-
1
2
  '''
2
3
  ########### REQUIREMENTS ###########
3
4
 
quarchpy/device/device.py CHANGED
@@ -1,7 +1,6 @@
1
1
  import time, sys, os ,logging
2
2
 
3
3
  from quarchpy.connection import QISConnection, PYConnection, QPSConnection
4
- from quarchpy import user_interface
5
4
  import re
6
5
 
7
6
  # Check Python version
@@ -1,5 +1,6 @@
1
+ # -*- coding: future_fstrings -*-
1
2
  from .device import quarchDevice
2
- import logging
3
+ import logging, sys
3
4
  import xml.etree.ElementTree as ET
4
5
  from quarchpy.user_interface.user_interface import printText
5
6
 
@@ -15,9 +16,9 @@ class quarchPPM(quarchDevice):
15
16
  numb_colons = self.ConString.count(":")
16
17
  if numb_colons == 1:
17
18
  self.ConString = self.ConString.replace(':', '::')
18
- if not skipDefaultSyntheticChannels and self.ConType[:3].upper() == "QIS" and "FAIL:" not in self.fixture_definition:
19
- self.create_default_synthetic_channels()
20
-
19
+ # if not skipDefaultSyntheticChannels and self.ConType[:3].upper() == "QIS" and "FAIL:" not in self.fixture_definition:
20
+ # self.create_default_synthetic_channels()
21
+
21
22
  def startStream(self, fileName='streamData.txt', fileMaxMB=200000, streamName ='Stream With No Name', streamDuration = None, streamAverage = None, releaseOnData = False, separator=",", inMemoryData = None):
22
23
  return self.connectionObj.qis.startStream(self.ConString, fileName, fileMaxMB, streamName, streamAverage, releaseOnData, separator, streamDuration, inMemoryData)
23
24
 
@@ -1,8 +1,6 @@
1
1
  from quarchpy.device import quarchDevice
2
2
  from quarchpy.utilities.Version import Version
3
3
  from quarchpy.user_interface.user_interface import requestDialog
4
- #from quarchpy.utilities.utils import check_stream_stopped_status, check_export_status
5
-
6
4
  import os, time, datetime, sys, logging
7
5
 
8
6
  if sys.version_info[0] < 3:
@@ -31,24 +29,24 @@ class quarchQPS(quarchDevice):
31
29
  self.IP_address = quarchDevice.connectionObj.qps.host
32
30
  self.port_number = quarchDevice.connectionObj.qps.port
33
31
 
34
- def startStream(self, directory, unserInput=True, streamDuration=""):
32
+ def startStream(self, directory, unserInput=True):
35
33
  """
36
34
  directory - str - desired stream dir
37
35
  unserInput=True - if a failure occurs userInput=True allows user to rectify problem with user input. set to False if user interaction is not available (automating).
38
36
  """
39
37
  #time.sleep(1) # TODO remove this sleep once script->QPS timeing issue resolved. This works fine in the meantime
40
- return quarchStream(self.quarchDevice, directory, unserInput, streamDuration)
38
+ return quarchStream(self.quarchDevice, directory, unserInput)
41
39
 
42
40
 
43
41
  class quarchStream:
44
- def __init__(self, quarchQPS, directory, unserInput=True, streamDuration=""):
42
+ def __init__(self, quarchQPS, directory, unserInput=True):
45
43
  self.connectionObj = quarchQPS.connectionObj
46
44
  self.IP_address = quarchQPS.connectionObj.qps.host
47
45
  self.port_number = quarchQPS.connectionObj.qps.port
48
46
  self.ConString = quarchQPS.ConString
49
47
  self.ConType = quarchQPS.ConType
50
- # time.sleep(1) # TODO Nabil - Is this required?
51
- response = self.startQPSStream(directory, streamDuration)
48
+ time.sleep(1)
49
+ response = self.startQPSStream(directory)
52
50
  if not "fail:" in response.lower():
53
51
  return
54
52
  else:
@@ -57,19 +55,18 @@ class quarchStream:
57
55
  else:
58
56
  self.failCheck(response)
59
57
 
60
- def startQPSStream(self, newDirectory, streamDuration=""):
61
- '''STARTS the QPS stream '''
62
- # Set the stream duration if required.
63
- response = self.connectionObj.qps.sendCmdVerbose("$start stream \"" + str(newDirectory) + "\" " + str(streamDuration))
58
+ def startQPSStream(self, newDirectory):
59
+ '''STARTS the stream '''
60
+ response = self.connectionObj.qps.sendCmdVerbose("$start stream \"" + str(newDirectory) + "\"")
64
61
  if "Error" in response:
65
- response = self.connectionObj.qps.sendCmdVerbose("$start stream " + str(newDirectory) + " " + streamDuration)
62
+ response = self.connectionObj.qps.sendCmdVerbose("$start stream " + str(newDirectory))
66
63
  return response
67
64
 
68
65
  def failCheck(self, response):
69
66
  ''' handles failed starting of stream that requires input from user to fix.'''
70
67
  while "fail:" in response.lower():
71
68
  if "Fail: Directory already exists" in response:
72
- newDir = requestDialog(message=response + " Please enter a new file name:")
69
+ newDir = requestDialog(message=response+" Please enter a new file name:")
73
70
  response = self.startQPSStream(newDir)
74
71
  else: # If its a failure we don't know how to handle.
75
72
  raise Exception(response)
@@ -115,7 +112,7 @@ class quarchStream:
115
112
 
116
113
  return retVal
117
114
 
118
- def stats_to_CSV(self, file_name="", poll_till_complete=False, check_interval=0.5):
115
+ def stats_to_CSV(self, file_name=""):
119
116
  """
120
117
  Saves the statistics grid to a csv file
121
118
 
@@ -133,51 +130,43 @@ class quarchStream:
133
130
  command_response = self.connectionObj.qps.sendCmdVerbose("$stats to csv \"" + file_name + "\"", timeout=60)
134
131
  if command_response.startswith("Fail"):
135
132
  raise Exception(command_response)
136
-
137
- #UNCOMMENT
138
- # if poll_till_complete:
139
- # is_exporting = check_export_status(self.get_stats_export_status())
140
- # while is_exporting:
141
- # is_exporting = check_export_status(self.get_stats_export_status())
142
- # time.sleep(check_interval)
143
133
  return command_response
144
134
 
145
135
  def get_custom_stats_range(self, start_time, end_time):
146
136
  """
147
- Returns the QPS statistics information over a specific time ignoring any set annotations.
148
-
149
- Parameters
150
- ----------
151
- start_time = : str
152
- The time in seconds you would like the stats to start this can be in integer or string format.
153
- or using the following format to specify daysDhours:minutes:seconds.milliseconds
154
- xxxDxx:xx:xx.xxxx
155
- end_time = : str
156
- The time in seconds you would like the stats to stop this can be in integer or string format
157
- or using the following format to specify daysDhours:minutes:seconds.milliseconds
158
- xxxDxx:xx:xx.xxxx
159
- Returns
160
- -------
161
- df = : dataframe
162
- The response text from QPS. If successful "ok. Saving stats to : file_name" otherwise returns the exception thrown
137
+ Returns the QPS statistics information over a specific time ignoring any set annotations.
138
+
139
+ Parameters
140
+ ----------
141
+ start_time = : str
142
+ The time in seconds you would like the stats to start this can be in integer or string format.
143
+ or using the following format to specify daysDhours:minutes:seconds.milliseconds
144
+ xxxDxx:xx:xx.xxxx
145
+ end_time = : str
146
+ The time in seconds you would like the stats to stop this can be in integer or string format
147
+ or using the following format to specify daysDhours:minutes:seconds.milliseconds
148
+ xxxDxx:xx:xx.xxxx
149
+ Returns
150
+ -------
151
+ df = : dataframe
152
+ The response text from QPS. If successful "ok. Saving stats to : file_name" otherwise returns the exception thrown
163
153
  """
164
154
  try:
165
155
  import warnings
166
156
  import pandas as pd
167
157
  warnings.simplefilter(action='ignore', category=FutureWarning)
168
- except ImportError:
158
+ except:
169
159
  logging.warning("pandas not imported correctly")
170
-
171
160
  command_response = self.connectionObj.qps.sendCmdVerbose(
172
161
  "$get custom stats range " + str(start_time) + " " + str(end_time), timeout=60)
173
-
174
162
  if command_response.startswith("Fail"):
175
163
  raise Exception(command_response)
176
164
  test_data = StringIO(command_response)
177
-
178
165
  try:
179
166
  pd.set_option('display.max_columns', None)
180
167
  pd.set_option('display.width', 1024)
168
+ # df = pd.read_csv(test_data, sep=",", header=[0,1])
169
+ # pandas.read_csv() replaced error_bad_lines with on_bad_lines from v1.3.0
181
170
  if Version.is_v1_ge_v2(pd.__version__, "1.3.0"):
182
171
  df = pd.read_csv(test_data, sep=",", header=[0, 1], on_bad_lines="skip")
183
172
  else:
@@ -198,9 +187,9 @@ class quarchStream:
198
187
 
199
188
  def getStreamState(self):
200
189
  """
201
- Asks QPS for the stream status.
190
+ Askes QPS for the stream status.
202
191
  QPS stream state != Module stream state.
203
- This is different from "rec stream?" cmd to the module as it will return "streaming" when the module is no longer streaming but QPS is still receiveing stream data from the module.
192
+ This is different from "rec stream?" cmd to the module as it will return "streaming" when the module is nolonger streaming but QPS is still receiveing stream data from the module.
204
193
  ei the module has stopped streaming but is emptying the stream buffer.
205
194
  """
206
195
  command_response = self.connectionObj.qps.sendCmdVerbose("$stream state")
@@ -208,8 +197,9 @@ class quarchStream:
208
197
  raise Exception(command_response)
209
198
  return (command_response)
210
199
 
200
+
211
201
  def addAnnotation(self, title, annotationTime=0, extraText="", yPos="", titleColor="", annotationColor="",
212
- annotationType="", annotationGroup="", timeFormat="unix"):
202
+ annotationType="", timeFormat="unix"):
213
203
  """
214
204
  Adds a custom annotation to stream with given parameters.
215
205
 
@@ -240,15 +230,14 @@ class quarchStream:
240
230
  annotationType = annotationType.lower()
241
231
  annotationTime = str(annotationTime)
242
232
 
243
- if annotationTime[0].isalpha() or annotationTime[-1].isalpha():
244
- timeFormat = "elapsed"
245
- if annotationTime.startswith(
246
- "e"): #Old format allowed e to be used to pass elapsed time in seconds "e2" -> 2s + elapsed
247
- annotationTime = annotationTime[1:] + "s"
233
+ if (annotationTime[0].isalpha() or annotationTime[-1].isalpha()):
234
+ timeFormat="elapsed"
235
+ if annotationTime.startswith("e"): #Old format allowed e to be used to pass elapsed time in seconds "e2" -> 2s + elapsed
236
+ annotationTime=annotationTime[1:]+"s"
248
237
 
249
- elif annotationTime == "0":
250
- annotationTime = current_milli_time()
251
- timeFormat = "unix"
238
+ elif annotationTime=="0":
239
+ annotationTime=current_milli_time()
240
+ timeFormat="unix"
252
241
 
253
242
  if annotationType == "" or annotationType == "annotation":
254
243
  annotationType = "annotate"
@@ -260,23 +249,24 @@ class quarchStream:
260
249
  # return retString
261
250
 
262
251
  title = title.replace("\n", "\\n")
263
- cmd = "$stream annotation add " + " time=" + str(annotationTime) + " text=\"" + title + "\""
264
- if extraText != "":
252
+ cmd="$stream annotation add "+" time="+str(annotationTime)+ " text=\""+title+"\""
253
+ if extraText!="":
265
254
  extraText = extraText.replace("\n", "\\n")
266
- cmd += " extraText=\"" + str(extraText) + "\""
267
- if yPos != "":
268
- cmd += " yPos=" + str(yPos)
269
- if type != "":
270
- cmd += " type=" + str(annotationType)
271
- if annotationColor != "":
272
- cmd += " colour=" + str(annotationColor)
273
- if titleColor != "":
274
- cmd += " textColour=" + str(titleColor)
275
- if timeFormat != "":
276
- cmd += " timeFormat=" + str(timeFormat)
255
+ cmd+=" extraText=\"" +str(extraText)+"\""
256
+ if yPos!= "":
257
+ cmd+=" yPos="+str(yPos)
258
+ if type!="":
259
+ cmd+=" type="+ str(annotationType)
260
+ if annotationColor!="":
261
+ cmd+=" colour="+str(annotationColor)
262
+ if titleColor!="":
263
+ cmd+=" textColour="+str(titleColor)
264
+ if timeFormat!="":
265
+ cmd+=" timeFormat="+str(timeFormat)
277
266
 
278
267
  return self.connectionObj.qps.sendCmdVerbose(cmd)
279
268
 
269
+
280
270
  def addComment(self, title, commentTime=0, extraText="", yPos="", titleColor="", commentColor="", annotationType="",
281
271
  annotationGroup="", timeFormat="unix"):
282
272
  # Comments are just annotations that do not affect the statistics grid.
@@ -287,8 +277,7 @@ class quarchStream:
287
277
  titleColor=titleColor, annotationColor=commentColor, annotationType=annotationType,
288
278
  annotationGroup=annotationGroup, timeFormat=timeFormat)
289
279
 
290
- def saveCSV(self, filePath, linesPerFile=None, cr=None, delimiter=None, timeout=60, pollTillComplete=False,
291
- checkInterval=0.5):
280
+ def saveCSV(self, filePath, linesPerFile=None, cr=None, delimiter=None, timeout=60):
292
281
  """
293
282
  Saves the stream to csv file at specified location
294
283
 
@@ -322,12 +311,6 @@ class quarchStream:
322
311
  if delimiter != None:
323
312
  args += " -s" + delimiter
324
313
 
325
- # if pollTillComplete:
326
- # is_exporting = check_export_status(self.get_stream_export_status())
327
- # while is_exporting:
328
- # is_exporting = check_export_status(self.get_stream_export_status())
329
- # time.sleep(checkInterval)
330
-
331
314
  # , filePath, linesPerFile, cr, delimiter
332
315
  return self.connectionObj.qps.sendCmdVerbose("$save csv \"" + filePath + "\" " + args, timeout=timeout)
333
316
 
@@ -353,22 +336,17 @@ class quarchStream:
353
336
  def channels(self):
354
337
  return self.connectionObj.qps.sendCmdVerbose("$channels").splitlines()
355
338
 
356
- def stopStream(self, pollTillComplete=False, checkInterval=0.5):
357
- # Stop the stream
358
- response = self.connectionObj.qps.sendCmdVerbose("$stop stream")
359
- # Poll till stream has completed if required
360
- if pollTillComplete:
361
- # Get the current stream status
362
- streamState = self.getStreamState().lower()
363
- # Verify the stream stopped correctly
364
- # response = check_stream_stopped_status(streamState)
365
- # while "running" in streamState:
366
- # logging.debug("Stream buffer still emptying: " + streamState)
367
- # streamState = self.getStreamState().lower()
368
- # response = check_stream_stopped_status(streamState)
369
- # time.sleep(checkInterval)
339
+ def stopStream(self):
340
+ return self.connectionObj.qps.sendCmdVerbose("$stop stream")
370
341
 
371
- return response
342
+ def stopStreamAndAllowBufferToEmpty(self, checkInterval=0.5):
343
+ self.stopStream()
344
+ streamState = self.getStreamState().lower()
345
+ while "running" in streamState:
346
+ logging.debug("Stream buffer still emptying: " + streamState)
347
+ time.sleep(checkInterval)
348
+ streamState = self.getStreamState().lower()
349
+ logging.debug("QPS no longer Streaming: " + streamState)
372
350
 
373
351
  def hideAllDefaultChannels(self):
374
352
 
@@ -409,13 +387,7 @@ class quarchStream:
409
387
  else:
410
388
  dataPointTime = int(dataPointTime)
411
389
  logging.warning("$stream data add " + channelName + " " + groupName + " " + str(dataPointTime) + " " + str(
412
- dataValue) + " " + timeFormat)
390
+ dataValue) + " " + timeFormat)
413
391
  self.connectionObj.qps.sendCmdVerbose(
414
392
  "$stream data add " + channelName + " " + groupName + " " + str(dataPointTime) + " " + str(
415
393
  dataValue) + " " + timeFormat)
416
-
417
- def get_stream_export_status(self):
418
- return self.connectionObj.qps.sendCmdVerbose("$stream export status")
419
-
420
- def get_stats_export_status(self):
421
- return self.connectionObj.qps.sendCmdVerbose("$stream stats export status")
@@ -504,9 +504,9 @@ def scanDevices(target_conn="all", lanTimeout=1, scanInArray=True, favouriteOnly
504
504
  # Setup mdns with zeroconf
505
505
  # Ensure listener/zeroconf instance stay persistent (ensures only one thread is used for each scan cycle)
506
506
  mdns_listener = MyListener().get_instance()
507
- zeroconf = mdns_listener.get_zeroconf()
507
+ # zeroconf = mdns_listener.get_zeroconf()
508
508
  # Setup new mdns discovery service for every scan cycle
509
- browser = scan_mDNS(mdns_listener, zeroconf)
509
+ # browser = scan_mDNS(mdns_listener, zeroconf)
510
510
  # Set target_conn
511
511
  mdns_listener.target_conn = target_conn.lower()
512
512
  # Setup mdns discovery that stays persistent in the background - (could be removed)
@@ -590,7 +590,7 @@ def scanDevices(target_conn="all", lanTimeout=1, scanInArray=True, favouriteOnly
590
590
  if module_type_filter:
591
591
  foundDevices = filter_module_type(module_type_filter, foundDevices)
592
592
  # Cancels the mdns discovery service (required to close active thread)
593
- browser.cancel()
593
+ # browser.cancel()
594
594
  return foundDevices
595
595
 
596
596
 
@@ -1,3 +1,4 @@
1
+ # -*- coding: future_fstrings -*-
1
2
  import os
2
3
  import time
3
4
  import json