quarchpy 2.1.26__py2.py3-none-any.whl → 2.1.27.dev1__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.
- quarchpy/_version.py +1 -1
- quarchpy/_version.py.bak +1 -0
- quarchpy/connection_specific/mDNS.py +20 -5
- quarchpy/connection_specific/mDNS.py.bak +126 -0
- {quarchpy-2.1.26.dist-info → quarchpy-2.1.27.dev1.dist-info}/METADATA +1 -1
- {quarchpy-2.1.26.dist-info → quarchpy-2.1.27.dev1.dist-info}/RECORD +8 -61
- quarchpy/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/__pycache__/_version.cpython-311.pyc +0 -0
- quarchpy/__pycache__/connection.cpython-311.pyc +0 -0
- quarchpy/__pycache__/run.cpython-311.pyc +0 -0
- quarchpy/config_files/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/config_files/__pycache__/quarch_config_parser.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/StreamChannels.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_QIS.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_QPS.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_ReST.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_Serial.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_TCP.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/connection_USB.cpython-311.pyc +0 -0
- quarchpy/connection_specific/__pycache__/mDNS.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/__pycache__/win32.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-311.pyc +0 -0
- quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/SystemTest.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/module_debug.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/simple_terminal.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/versionCompare.cpython-311.pyc +0 -0
- quarchpy/device/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/device/__pycache__/device.cpython-311.pyc +0 -0
- quarchpy/device/__pycache__/quarchArray.cpython-311.pyc +0 -0
- quarchpy/device/__pycache__/quarchPPM.cpython-311.pyc +0 -0
- quarchpy/device/__pycache__/quarchQPS.cpython-311.pyc +0 -0
- quarchpy/device/__pycache__/scanDevices.cpython-311.pyc +0 -0
- quarchpy/disk_test/__pycache__/AbsDiskFinder.cpython-311.pyc +0 -0
- quarchpy/disk_test/__pycache__/DiskTargetSelection.cpython-311.pyc +0 -0
- quarchpy/disk_test/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/disk_test/__pycache__/iometerDiskFinder.cpython-311.pyc +0 -0
- quarchpy/fio/__pycache__/FIO_interface.cpython-311.pyc +0 -0
- quarchpy/fio/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/iometer/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/iometer/__pycache__/gen_iometer_template.cpython-311.pyc +0 -0
- quarchpy/iometer/__pycache__/iometerFuncs.cpython-311.pyc +0 -0
- quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-311.pyc +0 -0
- quarchpy/qis/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/qis/__pycache__/qisFuncs.cpython-311.pyc +0 -0
- quarchpy/qps/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/qps/__pycache__/qpsFuncs.cpython-311.pyc +0 -0
- quarchpy/user_interface/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/user_interface/__pycache__/user_interface.cpython-311.pyc +0 -0
- quarchpy/utilities/__pycache__/TestCenter.cpython-311.pyc +0 -0
- quarchpy/utilities/__pycache__/TimeValue.cpython-311.pyc +0 -0
- quarchpy/utilities/__pycache__/Version.cpython-311.pyc +0 -0
- quarchpy/utilities/__pycache__/__init__.cpython-311.pyc +0 -0
- {quarchpy-2.1.26.dist-info → quarchpy-2.1.27.dev1.dist-info}/WHEEL +0 -0
- {quarchpy-2.1.26.dist-info → quarchpy-2.1.27.dev1.dist-info}/top_level.txt +0 -0
quarchpy/_version.py
CHANGED
@@ -1 +1 @@
|
|
1
|
-
__version__ = "2.1.
|
1
|
+
__version__ = "2.1.27.dev1"
|
quarchpy/_version.py.bak
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "2.1.26"
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import platform # For getting the operating system name
|
2
2
|
import subprocess # For executing a shell command
|
3
|
-
|
3
|
+
import logging
|
4
4
|
from zeroconf import Zeroconf
|
5
5
|
|
6
6
|
|
@@ -70,17 +70,27 @@ class MyListener:
|
|
70
70
|
"""
|
71
71
|
Handle service addition event.
|
72
72
|
"""
|
73
|
+
logging.warning("Adding service: " +name)
|
73
74
|
info = zc.get_service_info(type_, name)
|
75
|
+
# Log the service name
|
74
76
|
if "Quarch:" in str(info):
|
75
77
|
# decode the incoming properties from mdns
|
76
|
-
decoded_properties =
|
78
|
+
decoded_properties ={}
|
79
|
+
for key, value in info.properties.items():
|
80
|
+
decoded_properties[ key.decode('utf-8')]=value.decode('utf-8')
|
81
|
+
pass
|
82
|
+
#decoded_properties = {key.decode('utf-8'): value.decode('utf-8') for key, value in info.properties.items()}
|
77
83
|
decoded_ip = ".".join(str(byte) for byte in info.addresses[0])
|
78
84
|
self.get_instance().add_device(decoded_properties, decoded_ip)
|
79
85
|
|
86
|
+
|
87
|
+
|
88
|
+
|
80
89
|
def add_device(self, properties_dict, ip_address):
|
81
90
|
"""
|
82
91
|
Add a device to the found devices dictionary.
|
83
92
|
"""
|
93
|
+
logging.warning("Adding device: " +str(ip_address)+"\n"+str(properties_dict))
|
84
94
|
qtl_num = "QTL" + properties_dict['86'] if '86' in properties_dict else None
|
85
95
|
# Check if module contains REST connection
|
86
96
|
if '84' in properties_dict:
|
@@ -110,11 +120,16 @@ class MyListener:
|
|
110
120
|
Get the found devices and perform ping check.
|
111
121
|
"""
|
112
122
|
temp_dict = self.get_instance().found_devices
|
123
|
+
remove_device = False
|
113
124
|
for key, value in list(temp_dict.items()):
|
114
|
-
|
115
|
-
if
|
125
|
+
can_ping = ping(key[key.index(":") + 1:])
|
126
|
+
if can_ping is False:
|
127
|
+
remove_device=True # Remove the device if it can't be pinged
|
128
|
+
elif self.get_instance().target_conn not in key.lower() and self.get_instance().target_conn.lower() != "all":
|
129
|
+
remove_device = True # or if its of the wrong connection type.
|
130
|
+
if remove_device is True:
|
116
131
|
del self.get_instance().found_devices[key]
|
117
|
-
|
132
|
+
logging.warning("Returning found devices "+str(self.get_instance().found_devices))
|
118
133
|
return self.get_instance().found_devices
|
119
134
|
|
120
135
|
def get_zeroconf(self):
|
@@ -0,0 +1,126 @@
|
|
1
|
+
import platform # For getting the operating system name
|
2
|
+
import subprocess # For executing a shell command
|
3
|
+
|
4
|
+
from zeroconf import Zeroconf
|
5
|
+
|
6
|
+
|
7
|
+
def ping(host):
|
8
|
+
"""
|
9
|
+
Returns True if host (str) responds to a ping request.
|
10
|
+
"""
|
11
|
+
# Option for the number of packets as a function of
|
12
|
+
param = '-n' if platform.system().lower() == 'windows' else '-c'
|
13
|
+
|
14
|
+
# Building the command. Ex: "ping -c 1 google.com"
|
15
|
+
command = ['ping', param, '1', host]
|
16
|
+
|
17
|
+
# Execute the ping command and capture the output and return code
|
18
|
+
result = subprocess.run(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, text=True)
|
19
|
+
|
20
|
+
# Check the return code and output to determine the result
|
21
|
+
if result.returncode == 0 and ("destination host unreachable" not in str(result.stdout).lower()):
|
22
|
+
return True # Ping successful
|
23
|
+
else:
|
24
|
+
return False # Ping failed
|
25
|
+
|
26
|
+
|
27
|
+
class MyListener:
|
28
|
+
"""
|
29
|
+
MyListener class to handle service updates, removals, and additions in Zeroconf
|
30
|
+
"""
|
31
|
+
|
32
|
+
_instance = None
|
33
|
+
|
34
|
+
@classmethod
|
35
|
+
def get_instance(cls):
|
36
|
+
"""
|
37
|
+
Get an instance of MyListener class. If none exists, create one.
|
38
|
+
"""
|
39
|
+
if cls._instance is None:
|
40
|
+
cls._instance = MyListener()
|
41
|
+
return cls._instance
|
42
|
+
|
43
|
+
def __init__(self):
|
44
|
+
"""
|
45
|
+
Initialize MyListener instance.
|
46
|
+
"""
|
47
|
+
self.found_devices = {}
|
48
|
+
self.mdns_service_running = False
|
49
|
+
self.zeroconf = None
|
50
|
+
self.target_conn = None
|
51
|
+
|
52
|
+
def update_service(self, zc, type_, name):
|
53
|
+
"""
|
54
|
+
Handle service update event.
|
55
|
+
"""
|
56
|
+
info = zc.get_service_info(type_, name)
|
57
|
+
if "Quarch:" in str(info):
|
58
|
+
# decode the incoming properties from mdns
|
59
|
+
decoded_properties = {key.decode('utf-8'): value.decode('utf-8') for key, value in info.properties.items()}
|
60
|
+
decoded_ip = ".".join(str(byte) for byte in info.addresses[0])
|
61
|
+
self.get_instance().add_device(decoded_properties, decoded_ip)
|
62
|
+
|
63
|
+
def remove_service(self, zc, type_, name):
|
64
|
+
"""
|
65
|
+
Handle service removal event.
|
66
|
+
"""
|
67
|
+
return None
|
68
|
+
|
69
|
+
def add_service(self, zc, type_, name):
|
70
|
+
"""
|
71
|
+
Handle service addition event.
|
72
|
+
"""
|
73
|
+
info = zc.get_service_info(type_, name)
|
74
|
+
if "Quarch:" in str(info):
|
75
|
+
# decode the incoming properties from mdns
|
76
|
+
decoded_properties = {key.decode('utf-8'): value.decode('utf-8') for key, value in info.properties.items()}
|
77
|
+
decoded_ip = ".".join(str(byte) for byte in info.addresses[0])
|
78
|
+
self.get_instance().add_device(decoded_properties, decoded_ip)
|
79
|
+
|
80
|
+
def add_device(self, properties_dict, ip_address):
|
81
|
+
"""
|
82
|
+
Add a device to the found devices dictionary.
|
83
|
+
"""
|
84
|
+
qtl_num = "QTL" + properties_dict['86'] if '86' in properties_dict else None
|
85
|
+
# Check if module contains REST connection
|
86
|
+
if '84' in properties_dict:
|
87
|
+
# Check the user specified connection type
|
88
|
+
if self.get_instance().target_conn == "all" or self.get_instance().target_conn == "rest":
|
89
|
+
if properties_dict['84'] == '80':
|
90
|
+
# print("Rest connection exists for device: " + qtl_num)
|
91
|
+
# Updates the found devices dict
|
92
|
+
self.get_instance().update_device_dict(device_dict={"REST:" + ip_address: qtl_num})
|
93
|
+
# Check if module contains TCP connection
|
94
|
+
if '85' in properties_dict:
|
95
|
+
# Check the user specified connection type
|
96
|
+
if self.get_instance().target_conn == "all" or self.get_instance().target_conn == "tcp":
|
97
|
+
if properties_dict['85'] == "9760":
|
98
|
+
# print("TCP connection exists for device: " + qtl_num)
|
99
|
+
# Updates the found devices dict
|
100
|
+
self.get_instance().update_device_dict(device_dict={"TCP:" + ip_address: qtl_num})
|
101
|
+
|
102
|
+
def update_device_dict(self, device_dict):
|
103
|
+
"""
|
104
|
+
Update the found devices dictionary.
|
105
|
+
"""
|
106
|
+
self.get_instance().found_devices.update(device_dict)
|
107
|
+
|
108
|
+
def get_found_devices(self):
|
109
|
+
"""
|
110
|
+
Get the found devices and perform ping check.
|
111
|
+
"""
|
112
|
+
temp_dict = self.get_instance().found_devices
|
113
|
+
for key, value in list(temp_dict.items()):
|
114
|
+
result = ping(key[key.index(":") + 1:])
|
115
|
+
if not result or self.get_instance().target_conn not in key.lower():
|
116
|
+
del self.get_instance().found_devices[key]
|
117
|
+
print(str(self.get_instance().found_devices))
|
118
|
+
return self.get_instance().found_devices
|
119
|
+
|
120
|
+
def get_zeroconf(self):
|
121
|
+
"""
|
122
|
+
Get the Zeroconf instance. If none exists, create one.
|
123
|
+
"""
|
124
|
+
if self.get_instance().zeroconf is None:
|
125
|
+
self.get_instance().zeroconf = Zeroconf()
|
126
|
+
return self.get_instance().zeroconf
|
@@ -2,13 +2,10 @@ quarchpy/LICENSE.rst,sha256=SmYK6o5Xs2xRaUwYT-HqNDRu9eygu6y9QwweXNttiRc,3690
|
|
2
2
|
quarchpy/QuarchPy Function Listing.xlsx,sha256=NE68cZPn7b9P3wcnCsnQr3H6yBkt6D5S6dH6457X520,31245
|
3
3
|
quarchpy/README.txt,sha256=-LbrJ5rCPGSxoBmvr9CxJVokQUDwZSjoHa43eN8bWck,980
|
4
4
|
quarchpy/__init__.py,sha256=0aEaJ1Aduzm1g_1OvibCDm5j2PcZAh-OPdVWiXZwF_E,3090
|
5
|
-
quarchpy/_version.py,sha256=
|
5
|
+
quarchpy/_version.py,sha256=WWjnvlkpr-SpOVTU3Sjn9-vb_HlOoYscltX3psRTbK8,27
|
6
|
+
quarchpy/_version.py.bak,sha256=uKPPbYGJhuvI06hojQEsU3vkHqRcSfGBb86tXnI1xSE,22
|
6
7
|
quarchpy/connection.py,sha256=9lPIUP4LCWkFAedc8CWorDY-3ujdAA-cyeNkSBdIv9E,2226
|
7
8
|
quarchpy/run.py,sha256=mRp9IGPs-wdGisKK1FG_9DciFx_V0LePH5mfkTPhsd4,9681
|
8
|
-
quarchpy/__pycache__/__init__.cpython-311.pyc,sha256=2jWZMGK2L33nauwpbyFiYTKWM2vXKsTiRmwKXsz2eV8,5044
|
9
|
-
quarchpy/__pycache__/_version.cpython-311.pyc,sha256=C_vV0pGgMlE7tYgkdAxEHi64AgwZQ_uU2Bk4xQyOAx0,193
|
10
|
-
quarchpy/__pycache__/connection.cpython-311.pyc,sha256=Qdq86N73132xW-TWTIQmgCAXVPbO9DCVzIWdrQ3nV58,3647
|
11
|
-
quarchpy/__pycache__/run.cpython-311.pyc,sha256=uHmT3imM-t2K1dPo0QRXXgNnSSiExrwfnoQf1YrqNu0,11330
|
12
9
|
quarchpy/config_files/__init__.py,sha256=bP9FM5hjP0r7s8qmWqcsVjAfHM0B4XY7cz5sTpe2HDA,290
|
13
10
|
quarchpy/config_files/quarch_config_parser.py,sha256=mjP-uO58hVlHm25ZAFjX9Zwhn8z0np4vveLNHtx8Bt4,28891
|
14
11
|
quarchpy/config_files/Cable_Modules/QTL1253-01 - Mini SAS Module Config v3.5 c1.3.qfg,sha256=hJnFfjsqiNZXYWHx2kn43Gnr2xqmJth4GGVd8VKU5_k,4923
|
@@ -221,8 +218,6 @@ quarchpy/config_files/Switch_Modules/QTL1490-xx - SATA Keyed HS Module Config v4
|
|
221
218
|
quarchpy/config_files/Switch_Modules/QTL1530-xx - 1-8 DP MUX Module Config v4.000.qfg,sha256=LXfFCsOhfq23zMMawLybV7TLq2-NgDzy7xuANsYykOw,2937
|
222
219
|
quarchpy/config_files/Switch_Modules/QTL1564-xx - 12 Port Mini SAS HD MUX Module Config v4.000.qfg,sha256=BLxvMtnvzrnaltQ1MOfghE5iilYx0weQyhgHm5isEMc,3754
|
223
220
|
quarchpy/config_files/Switch_Modules/QTL1584-xx - 1-4 ExpressCard MUX Module Config v4.000.qfg,sha256=SxUIw_hoWjGFD-WyQl57jNpjS5D1k4SqbGYINsydu_c,1520
|
224
|
-
quarchpy/config_files/__pycache__/__init__.cpython-311.pyc,sha256=lbw-LoMbva8rrIeaOVHHtmNrsPqVuKwt9ornOaw9q-Q,483
|
225
|
-
quarchpy/config_files/__pycache__/quarch_config_parser.cpython-311.pyc,sha256=LxxEH4oTD35PDz8MgjHhWiVcNCUL9g-eO8Yq8yuew5Y,28152
|
226
221
|
quarchpy/connection_specific/StreamChannels.py,sha256=_xBEgDpTCeQue-bsv3fwO3aN1JPWvbuvK3ZwTgvXB4c,601
|
227
222
|
quarchpy/connection_specific/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
228
223
|
quarchpy/connection_specific/connection_QIS.py,sha256=pYnNYU32M5g_tInT8vjquWVNfeFLjAh2imIh2rl1TLc,84667
|
@@ -232,7 +227,8 @@ quarchpy/connection_specific/connection_Serial.py,sha256=j0KTxOX7c5rmu09s68sqOzH
|
|
232
227
|
quarchpy/connection_specific/connection_TCP.py,sha256=hkKJC9QkopBaaWnWB9xz9LRlvcvGAwvz9w3RxRDXfgc,2427
|
233
228
|
quarchpy/connection_specific/connection_Telnet.py,sha256=e5R6NIbyOJOhiRUtBg0S1tY4VGJXrFPhrJcfM9mJD2c,676
|
234
229
|
quarchpy/connection_specific/connection_USB.py,sha256=zReNq-pFjcZN83pp8zE7XsCmM6KrVujVG1v2CdYb5oQ,26156
|
235
|
-
quarchpy/connection_specific/mDNS.py,sha256=
|
230
|
+
quarchpy/connection_specific/mDNS.py,sha256=xZFX-tTQv50jAUP1QylS59dyfns_P3oGB-6YCnPLzw0,5728
|
231
|
+
quarchpy/connection_specific/mDNS.py.bak,sha256=BHFI-5wbplNMvE9Xw9XQWKeAl37RdpOxYMJNeGteCT0,5000
|
236
232
|
quarchpy/connection_specific/QPS/Power-Studio-QuickStart.pdf,sha256=8ihSKl-8F7Bc_ndVd0cyN3RhkvXeKTK-tXA-xITiTr0,226994
|
237
233
|
quarchpy/connection_specific/QPS/QuarchPowerStudio.properties.xml,sha256=o1SpNKFyGQ0oZBnn5vTnEF9ORSMSOI422yTMxoTRWhA,28486
|
238
234
|
quarchpy/connection_specific/QPS/commandLineOptions.txt,sha256=dhLmE966icLLmjj25nSDMGJxKWldhNplx0DBUFxcrWg,661
|
@@ -325,15 +321,6 @@ quarchpy/connection_specific/QPS/resources/QuarchIcon_32x32.png,sha256=lAacFdUnz
|
|
325
321
|
quarchpy/connection_specific/QPS/resources/QuarchIcon_64x64.png,sha256=5AKs5vpm0kppyBYUT6J3uDC88Jhd5b8bI2yuV2YvYRI,3589
|
326
322
|
quarchpy/connection_specific/QPS/resources/profiles/3_PHASE_PAM_AC_DEFAULT.scf,sha256=chYHStobI-z8ZeNTtfyLoFECSX6QAANk3xYC9R5WLSA,6001
|
327
323
|
quarchpy/connection_specific/QPS/resources/profiles/3_PHASE_PAM_AC_FULL.scf,sha256=cxAhAocxwSBWa4jaBlvIOjwUz7zfCb1V6nJVkOrLlGE,9946
|
328
|
-
quarchpy/connection_specific/__pycache__/StreamChannels.cpython-311.pyc,sha256=G2_O55cKe85WPf6Mvwn8WtZdxwdZ8TuhZ0SeZqf6K3k,1970
|
329
|
-
quarchpy/connection_specific/__pycache__/__init__.cpython-311.pyc,sha256=AhGe25_TW0OB6JcAHoAn2fpQhMH9P7TAuoxvdd-ib_4,192
|
330
|
-
quarchpy/connection_specific/__pycache__/connection_QIS.cpython-311.pyc,sha256=Bu0m09S1DCIRvhaSkgyKjr6wPEs3vvUNpfy_doAWNxU,82676
|
331
|
-
quarchpy/connection_specific/__pycache__/connection_QPS.cpython-311.pyc,sha256=VGQelWBvAFWb-cTgch-KdGK4TQj8ARtvcKcNuAeae84,12340
|
332
|
-
quarchpy/connection_specific/__pycache__/connection_ReST.cpython-311.pyc,sha256=dcXrfpHvw07EBxvs6U36LkeMaVqi9GmPeqDl-MeDqDw,2950
|
333
|
-
quarchpy/connection_specific/__pycache__/connection_Serial.cpython-311.pyc,sha256=n78tzuCjLtrzPTSF8bGKUrOzuLMFHxzdYT6bHz1ZR6g,2863
|
334
|
-
quarchpy/connection_specific/__pycache__/connection_TCP.cpython-311.pyc,sha256=Wa7JHkqJebkZ-4TrRoXWcNow5gBhE3xULLQK6ogsVHA,3024
|
335
|
-
quarchpy/connection_specific/__pycache__/connection_USB.cpython-311.pyc,sha256=Hy5yNN6E5ebNos_w2awUGpLj55HyqwBARNssX4fnCyg,30314
|
336
|
-
quarchpy/connection_specific/__pycache__/mDNS.cpython-311.pyc,sha256=gjd-kDx5Grr4wFtUBd249YeSVWo9ifM3OH1yWebsVdY,7659
|
337
324
|
quarchpy/connection_specific/serial/__init__.py,sha256=2MXI5_UH-k_ebcv8Gx5LwIBTv4ysX3AyNt6RpYEeTTE,3165
|
338
325
|
quarchpy/connection_specific/serial/rfc2217.py,sha256=n6Z6D2WrJg_GhGD-OB4jeaLuQcT6v3lFWnlmqVXBJXA,59444
|
339
326
|
quarchpy/connection_specific/serial/rs485.py,sha256=O2YbxLMlziEX1N39WOukrlhMWcYzVwiP95FBhMmUIHc,3265
|
@@ -343,10 +330,6 @@ quarchpy/connection_specific/serial/serialposix.py,sha256=LUDorzZNdg2rpou_Ys0drl
|
|
343
330
|
quarchpy/connection_specific/serial/serialutil.py,sha256=V-AeEMJyl8GvijaiildLRY8k-IOAZpW-YeBxHV2iDvg,21692
|
344
331
|
quarchpy/connection_specific/serial/serialwin32.py,sha256=tMa-81Oh1c4g5nHf86v2eDnLKb7JHAG-vEQZfq2q_Jo,20087
|
345
332
|
quarchpy/connection_specific/serial/win32.py,sha256=-GiHVB-QFrQfD4vHelhaEccwfW__6kC2S_46lIYLVsM,10853
|
346
|
-
quarchpy/connection_specific/serial/__pycache__/__init__.cpython-311.pyc,sha256=43eWND-6gKD1De-XfTaOI-UYkQpYyyp8bP4A4IV05C4,3245
|
347
|
-
quarchpy/connection_specific/serial/__pycache__/serialutil.cpython-311.pyc,sha256=0g3Pn36Zj4yehh9r9wVCR3_cL7v9EHDRzo8ckMPDwFc,29273
|
348
|
-
quarchpy/connection_specific/serial/__pycache__/serialwin32.cpython-311.pyc,sha256=wf5yYnBYgwtAfMAaBVgiVcObr9LvziZGibs9JbVQmpA,25057
|
349
|
-
quarchpy/connection_specific/serial/__pycache__/win32.cpython-311.pyc,sha256=BuJcztdhTb76v32KPSSrn5YnzPKOOvBLZ9pD8_ka-CI,9535
|
350
333
|
quarchpy/connection_specific/serial/threaded/__init__.py,sha256=EHay8pD__ePKaa-WvweNjWe9V1SUgZMefNnayVyiwRw,9272
|
351
334
|
quarchpy/connection_specific/serial/tools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
352
335
|
quarchpy/connection_specific/serial/tools/hexlify_codec.py,sha256=1lvd2TFWYUsYMRt7nsyw0VfHTRfl57Hl6kdCmNhMkC4,3637
|
@@ -357,10 +340,6 @@ quarchpy/connection_specific/serial/tools/list_ports_osx.py,sha256=omNNZ4yYAEQfQ
|
|
357
340
|
quarchpy/connection_specific/serial/tools/list_ports_posix.py,sha256=EFZtHqrOGYoLpAp-2Qjfro3G9NlceFkghoEzGBoSko4,4358
|
358
341
|
quarchpy/connection_specific/serial/tools/list_ports_windows.py,sha256=Y43XEmCQIHjqTts3HSt0RDIODIs4DwiikoeMFw-a2WQ,11119
|
359
342
|
quarchpy/connection_specific/serial/tools/miniterm.py,sha256=tRUuxzukL2wIF8GWCK67DlhENZXfMcUXhdprUwpe0XQ,35085
|
360
|
-
quarchpy/connection_specific/serial/tools/__pycache__/__init__.cpython-311.pyc,sha256=9Bv37oN7Gia-9dQw-88vqhcPYGIij7z7VPH1Yr9ul1U,205
|
361
|
-
quarchpy/connection_specific/serial/tools/__pycache__/list_ports.cpython-311.pyc,sha256=_CV3ssvQtORJExP-0yiCr6A2se2aA5lj0N1kYwCf1Zo,4580
|
362
|
-
quarchpy/connection_specific/serial/tools/__pycache__/list_ports_common.cpython-311.pyc,sha256=XZEaxiPBlSWQVMaZAIa83bSYUz5-cSLj9eWH_7hXzvA,5141
|
363
|
-
quarchpy/connection_specific/serial/tools/__pycache__/list_ports_windows.cpython-311.pyc,sha256=bD7ClM21QWwjNC4u0YgkUY8UPbPmpELf2si-Sf_rNxs,12004
|
364
343
|
quarchpy/connection_specific/serial/urlhandler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
365
344
|
quarchpy/connection_specific/serial/urlhandler/protocol_alt.py,sha256=9appz9cI17w_6wPcKPDnSK340eiaG-iHBYDm91qAbxg,1803
|
366
345
|
quarchpy/connection_specific/serial/urlhandler/protocol_hwgrep.py,sha256=nEU26Rjo4GhEXG2Q1zdy7shyb3_dgXZFF94qPblawsk,2950
|
@@ -383,32 +362,16 @@ quarchpy/debug/module_debug.py,sha256=OjfqANBQq-4S-r_pQlCutwEO3iyNAep3T_r0sb6ju0
|
|
383
362
|
quarchpy/debug/simple_terminal.py,sha256=YkkPQWUuG8OofrX2lce3LoxWHbDQmeJ3g2goCqrrULo,2030
|
384
363
|
quarchpy/debug/upgrade_quarchpy.py,sha256=Yt8K1JPhmPH85WwvELGgGugHBtzC8amp7Gr0YNkqwL0,4298
|
385
364
|
quarchpy/debug/versionCompare.py,sha256=AkJxHKd6hsnXnWr-Pmo3tc2sekL9uKOvGhYksM1dgp0,2397
|
386
|
-
quarchpy/debug/__pycache__/SystemTest.cpython-311.pyc,sha256=JFhSk4s_iQq7isfcqpsWMhrQr6aLc9Fjg3zXElPSBww,10761
|
387
|
-
quarchpy/debug/__pycache__/__init__.cpython-311.pyc,sha256=cVIlvxrxqYynaPH7oUJ9l1LH9QG0gisvIRpVbqX6Khw,178
|
388
|
-
quarchpy/debug/__pycache__/module_debug.cpython-311.pyc,sha256=EqWvin3m6KpIKDfLxpPnrydOEb0TX98MPmtqCoaBKqE,12301
|
389
|
-
quarchpy/debug/__pycache__/simple_terminal.cpython-311.pyc,sha256=EKdFot8v6xHE7rkuXCopRb1yVhAa8566c3rWuNM2py0,2796
|
390
|
-
quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-311.pyc,sha256=yfmVcF1PLVf4molU-xVpOhJfGPP_S__U2mhSe9DwOcI,6004
|
391
|
-
quarchpy/debug/__pycache__/versionCompare.cpython-311.pyc,sha256=JEkYcu7XuQSvpFrcoayCje3TyoaXe9EHc-ayhGncA4Q,2633
|
392
365
|
quarchpy/device/__init__.py,sha256=quGTPdm5o0RsLBCwPLWA_LWMQjCgdkbh1MCcX89-rGU,559
|
393
366
|
quarchpy/device/device.py,sha256=HEMhdfoDqyg3SUYKK2uuZeFB6VKjerld4J7f1SGk3CU,25461
|
394
367
|
quarchpy/device/quarchArray.py,sha256=_8z6P1wCtIs2kkkAzNRc1YrT-NmGRvzd3btqa-Yl3Hc,2816
|
395
368
|
quarchpy/device/quarchPPM.py,sha256=DnqkdxDjyu533RL2ZL0ISpe2nSXTkm4O6jFqAnZZf6g,3271
|
396
369
|
quarchpy/device/quarchQPS.py,sha256=D6v0l-MwoABP3Lz5l3bnLJMfIpghAZZ319j4m5RRKvw,18780
|
397
370
|
quarchpy/device/scanDevices.py,sha256=Lp1nEuztY7YdVFSZYUJtZ2XGaTjji7ird2H7fwQJRtw,29546
|
398
|
-
quarchpy/device/__pycache__/__init__.cpython-311.pyc,sha256=FaNSKD6QlLF9XxEWk0lSLwp1G4ziej7st8D5R1O23c0,800
|
399
|
-
quarchpy/device/__pycache__/device.cpython-311.pyc,sha256=kQRI98tbHzg1tc0Ypf3wOEfaIGfzIdBbrGDhKIDaGtU,26091
|
400
|
-
quarchpy/device/__pycache__/quarchArray.cpython-311.pyc,sha256=jPSgFJHImZVDPINMNCvGpydPBCvLrxRCeq0RcyXPQXs,3847
|
401
|
-
quarchpy/device/__pycache__/quarchPPM.cpython-311.pyc,sha256=hpIb2MPR9zCib21ceSXrpoHyLusAuWx3S-PnBIqGiCc,4836
|
402
|
-
quarchpy/device/__pycache__/quarchQPS.cpython-311.pyc,sha256=ElfUhSZoBeHkN4Aj_uhJlkfTcY8RJYgGHWRhkHE_cIU,23300
|
403
|
-
quarchpy/device/__pycache__/scanDevices.cpython-311.pyc,sha256=VVNv1eyGx9o6q16WndtviCUSTmPpd1tkU1oMceElJP4,33047
|
404
371
|
quarchpy/disk_test/AbsDiskFinder.py,sha256=QhtekaSSKubikGM7aqZ916u7Cc22FLEB7CqGiEvdByc,377
|
405
372
|
quarchpy/disk_test/DiskTargetSelection.py,sha256=BY3zc7mg7FPxEp9OB2yRkyYIHRwrAB6U0XrsSWZrKU4,925
|
406
373
|
quarchpy/disk_test/__init__.py,sha256=3-LXyQMX5macnPaHc8J3mcJQ7faTInycD8-skQYyFbE,59
|
407
374
|
quarchpy/disk_test/iometerDiskFinder.py,sha256=hdZpGbhzXRctI58bqhi3_ZVrmVtB03tIQNHgH-RZBxM,6986
|
408
|
-
quarchpy/disk_test/__pycache__/AbsDiskFinder.cpython-311.pyc,sha256=0rEtYD0qP-5WV4l6026GcGrOw1iQ7hXaG-3nTFwEDfM,1051
|
409
|
-
quarchpy/disk_test/__pycache__/DiskTargetSelection.cpython-311.pyc,sha256=f_Jgoi2u7fa_e5blVPLmBhTXRUpHX3oUcv59PHGU5Gg,953
|
410
|
-
quarchpy/disk_test/__pycache__/__init__.cpython-311.pyc,sha256=QgnbvqvNukMQr-ruc5xgAl9tFjUbNOXrMPgmQSASUyQ,262
|
411
|
-
quarchpy/disk_test/__pycache__/iometerDiskFinder.cpython-311.pyc,sha256=jc-ga2-VjOIlqB17BfdJSzHCCI005MHw2wA1rmtuofk,8169
|
412
375
|
quarchpy/docs/CHANGES.rst,sha256=KSd2gxcar3LvlXfJ3lhzlTwe1Sep-P_AGVqeek0p8nU,8991
|
413
376
|
quarchpy/docs/Makefile,sha256=i2WHuFlgfyAPEW4ssEP8NY4cOibDJrVjvzSEU8_Ggwc,634
|
414
377
|
quarchpy/docs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
@@ -521,40 +484,24 @@ quarchpy/fio/__init__.py,sha256=keB7UPgsLZ8PNdnM5UKdAVPW3PBMTz6vT0AfQaigGZ0,61
|
|
521
484
|
quarchpy/fio/fioDiskFinder.py,sha256=BfQMvIVDJzhuvmu8hmjO0xOecZ1KkCAiL98FQTcQXqQ,2965
|
522
485
|
quarchpy/fio/performanceClass.py,sha256=HuhKBIb6z2yaZUU8VeKCls0PR0u82aJvKFOqb-eoZH4,38530
|
523
486
|
quarchpy/fio/test_performance_class.py,sha256=bjU8taCRWPdPL4hoDqZbdzBTKihOPTmqYCaI2ZZG_Xo,20793
|
524
|
-
quarchpy/fio/__pycache__/FIO_interface.cpython-311.pyc,sha256=NRSjQJTmSBzxw4NvqfJsj6DtXcuIlKZzwvTUKK9XKVw,12016
|
525
|
-
quarchpy/fio/__pycache__/__init__.cpython-311.pyc,sha256=ToxxKpcTRGQdw-cmXGC0HjbZRSt5fgWj1h7Voh1BJvY,261
|
526
487
|
quarchpy/iometer/IometerTemplate.dat,sha256=BxaoPvJlAxpLgVt0y9T1jAisvZNggto9JlrVjqDifO4,2008
|
527
488
|
quarchpy/iometer/__init__.py,sha256=mTPgmKsVUhvaXGqDq009vAGYZ0qrSf4W2QqWLhqGEVk,314
|
528
489
|
quarchpy/iometer/gen_iometer_template.py,sha256=f0YM786dG4c1Bioq6zeclG83r8HBaffO2Pmt-hFDwkw,2163
|
529
490
|
quarchpy/iometer/iometerFuncs.py,sha256=qc0GK2SiCUHU_7mGL0z35MyNCdTcfSEf2wR1zti6KDY,14178
|
530
|
-
quarchpy/iometer/__pycache__/__init__.cpython-311.pyc,sha256=Rr_bEpMGbNM8sHccf0sLxgDIFrzs45L_kLj05QCiaIs,503
|
531
|
-
quarchpy/iometer/__pycache__/gen_iometer_template.cpython-311.pyc,sha256=NPXAOYmoImqzRfYX4L8lPLxNrJJx___5hZbx1zHjcw4,2612
|
532
|
-
quarchpy/iometer/__pycache__/iometerFuncs.cpython-311.pyc,sha256=TWT9ZtWwg5FFVE0thsQwIPJzogkKvUfYma0tniDOSvM,14056
|
533
491
|
quarchpy/qis/StreamHeaderInfo.py,sha256=ynKRSnZPrRK6qtREbn4YQgweY-WWlP98-gl1YB1syh8,8150
|
534
492
|
quarchpy/qis/__init__.py,sha256=QRVPy96G7RUx6ldofcD-xNN4NHeNjkasSu8DXkyRB0k,307
|
535
493
|
quarchpy/qis/qisFuncs.py,sha256=sAstq4IxAZQCrAW9wz5KuIxkIrZib4BwPkopkiZunSY,10139
|
536
|
-
quarchpy/qis/__pycache__/StreamHeaderInfo.cpython-311.pyc,sha256=IG61yGMTz7xWPJC5datHFsel6X52RmnpUBity-ldEig,7552
|
537
|
-
quarchpy/qis/__pycache__/__init__.cpython-311.pyc,sha256=x5qIeGI4IxRwxNAKoBqZlWDVxBQXcvC9ZPkBpxq2AuM,539
|
538
|
-
quarchpy/qis/__pycache__/qisFuncs.cpython-311.pyc,sha256=ZYExbhJtxORq_urf2pq9GG1AIcQ0WOEDbRtudSjyf5k,12336
|
539
494
|
quarchpy/qps/__init__.py,sha256=5urxSvqUWmonIrhyvrSQDpNtZubfVEU8JrqRmzm4wH0,303
|
540
495
|
quarchpy/qps/qpsFuncs.py,sha256=YYV57e8dbbIa3obj80VKdgg7-cIFxTeol5E2ZQuAiUs,10850
|
541
496
|
quarchpy/qps/qpsFuncs.py.bak,sha256=HyUglcfYZahkzb3Xn_HeRpA6LJc-jNF7sha2BYlAU5E,10809
|
542
|
-
quarchpy/qps/__pycache__/__init__.cpython-311.pyc,sha256=jvjekvqLMOTNtBG8g578r1XeDKcVAYBxWn42V1BmHP0,534
|
543
|
-
quarchpy/qps/__pycache__/qpsFuncs.cpython-311.pyc,sha256=c6sLNiQOk2_-2KMpZV7RN9Vd1DSJjKm4KN_6L6oTCR8,13939
|
544
497
|
quarchpy/user_interface/__init__.py,sha256=ix0icQvmKUTRgvfhXK3PxiDGyITkPYY-08hFjuhbupo,298
|
545
498
|
quarchpy/user_interface/user_interface.py,sha256=fuyoX-J0O-3Kod-FngCk5dttVJViLfDIqcIOfxB1MV4,30128
|
546
|
-
quarchpy/user_interface/__pycache__/__init__.cpython-311.pyc,sha256=lA2a4D0xvPix7_Y406z0avOo6pJqTtf2YdvIZuKOo_I,228
|
547
|
-
quarchpy/user_interface/__pycache__/user_interface.cpython-311.pyc,sha256=lAzXXVnEK7xDYWYe76Hfj6Wm7ukrUlTaTPXSlAcuQus,33144
|
548
499
|
quarchpy/utilities/BitManipulation.py,sha256=vLw2PF5z-d-2MY_yEU0l9FEBYTlCklM336XU2vPKAas,1016
|
549
500
|
quarchpy/utilities/TestCenter.py,sha256=Andm9hBxIFU34snWc6uVGEVEqVbvF62Rh3czSx3kouc,4805
|
550
501
|
quarchpy/utilities/TimeValue.py,sha256=nZUBT3nKICMy0zqz97fmF9sDy1h4aCdNIS7yXl0S3as,2157
|
551
502
|
quarchpy/utilities/Version.py,sha256=i57qRgHwGSXf2wPVVNUZfG9Tu6f5hWxZLPy7XCw2WkQ,1578
|
552
503
|
quarchpy/utilities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
553
|
-
quarchpy
|
554
|
-
quarchpy
|
555
|
-
quarchpy
|
556
|
-
quarchpy
|
557
|
-
quarchpy-2.1.26.dist-info/METADATA,sha256=s62KqtON1KAAUXqH2dcIYukoErrVbGvnurDibwLBFF8,9837
|
558
|
-
quarchpy-2.1.26.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
|
559
|
-
quarchpy-2.1.26.dist-info/top_level.txt,sha256=Vc7qsvkVax7oeBaBy_e7kvJvqb_VAAJcW_MuDMmi5W8,9
|
560
|
-
quarchpy-2.1.26.dist-info/RECORD,,
|
504
|
+
quarchpy-2.1.27.dev1.dist-info/METADATA,sha256=6OxkpFdSZKih87rqGp6vZiB_QBOkHERjCe0GBnOgLuI,9842
|
505
|
+
quarchpy-2.1.27.dev1.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
|
506
|
+
quarchpy-2.1.27.dev1.dist-info/top_level.txt,sha256=Vc7qsvkVax7oeBaBy_e7kvJvqb_VAAJcW_MuDMmi5W8,9
|
507
|
+
quarchpy-2.1.27.dev1.dist-info/RECORD,,
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
File without changes
|
File without changes
|