quarchpy 2.1.24.dev1__py2.py3-none-any.whl → 2.1.24.dev3__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/.idea/.name +1 -1
- quarchpy/.idea/modules.xml +2 -0
- quarchpy/.idea/quarchpy.iml +5 -1
- quarchpy/.idea/workspace.xml +267 -18
- 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/_version.py +1 -1
- 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/QPS/qis/qis_lib/CInterface-1.8.0.jar +0 -0
- quarchpy/connection_specific/QPS/win-amd64/hs_err_pid8224.log +8905 -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__/connection_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/connection_specific/usb_libs/__pycache__/libusb1.cpython-311.pyc +0 -0
- quarchpy/connection_specific/usb_libs/__pycache__/usb1.cpython-311.pyc +0 -0
- quarchpy/debug/SystemTest.py +14 -3
- quarchpy/debug/__pycache__/SystemTest.cpython-311.pyc +0 -0
- quarchpy/debug/__pycache__/__init__.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/device/scanDevices.py +51 -25
- 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/docs/_build/doctrees/CHANGES.doctree +0 -0
- quarchpy/docs/_build/doctrees/environment.pickle +0 -0
- quarchpy/docs/_build/doctrees/index.doctree +0 -0
- quarchpy/docs/_build/doctrees/readme.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/changelog.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/licenses.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/modules.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.calibration.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.config_files.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.connection_specific.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.debug.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.device.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.disk_test.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.fio.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.iometer.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.qis.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.qps.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.user_interface.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/quarchpy.utilities.doctree +0 -0
- quarchpy/docs/_build/doctrees/source/readme.doctree +0 -0
- quarchpy/docs/_build/html/CHANGES.html +119 -123
- quarchpy/docs/_build/html/_sources/CHANGES.rst.txt +0 -5
- quarchpy/docs/_build/html/genindex.html +1537 -0
- quarchpy/docs/_build/html/index.html +60 -61
- quarchpy/docs/_build/html/objects.inv +0 -0
- quarchpy/docs/_build/html/readme.html +7 -6
- quarchpy/docs/_build/html/searchindex.js +1 -1
- quarchpy/docs/_build/html/source/changelog.html +179 -184
- quarchpy/docs/_build/html/source/licenses.html +7 -6
- quarchpy/docs/_build/html/source/modules.html +43 -35
- quarchpy/docs/_build/html/source/quarchpy.config_files.html +12 -2
- quarchpy/docs/_build/html/source/quarchpy.connection_specific.html +602 -16
- quarchpy/docs/_build/html/source/quarchpy.debug.html +127 -8
- quarchpy/docs/_build/html/source/quarchpy.device.html +1003 -12
- quarchpy/docs/_build/html/source/quarchpy.disk_test.html +75 -9
- quarchpy/docs/_build/html/source/quarchpy.fio.html +67 -6
- quarchpy/docs/_build/html/source/quarchpy.html +539 -38
- quarchpy/docs/_build/html/source/quarchpy.iometer.html +156 -10
- quarchpy/docs/_build/html/source/quarchpy.qis.html +518 -4
- quarchpy/docs/_build/html/source/quarchpy.qps.html +105 -4
- quarchpy/docs/_build/html/source/quarchpy.user_interface.html +156 -4
- quarchpy/docs/_build/html/source/quarchpy.utilities.html +96 -10
- quarchpy/docs/_build/html/source/readme.html +7 -6
- 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/qis/qisFuncs.py +5 -9
- quarchpy/qps/__pycache__/__init__.cpython-311.pyc +0 -0
- quarchpy/qps/__pycache__/qpsFuncs.cpython-311.pyc +0 -0
- quarchpy/run.py +0 -7
- 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.24.dev1.dist-info → quarchpy-2.1.24.dev3.dist-info}/METADATA +1 -1
- {quarchpy-2.1.24.dev1.dist-info → quarchpy-2.1.24.dev3.dist-info}/RECORD +112 -60
- quarchpy/.idea/inspectionProfiles/Project_Default.xml +0 -12
- {quarchpy-2.1.24.dev1.dist-info → quarchpy-2.1.24.dev3.dist-info}/WHEEL +0 -0
- {quarchpy-2.1.24.dev1.dist-info → quarchpy-2.1.24.dev3.dist-info}/top_level.txt +0 -0
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
|
quarchpy/debug/SystemTest.py
CHANGED
@@ -1,6 +1,17 @@
|
|
1
|
-
from quarchpy import *
|
2
|
-
from quarchpy.device import *
|
3
|
-
|
1
|
+
# from quarchpy import *
|
2
|
+
# from quarchpy.device import *
|
3
|
+
try:
|
4
|
+
from importlib.metadata import distribution
|
5
|
+
except:
|
6
|
+
try:
|
7
|
+
from importlib_metadata import distribution
|
8
|
+
except Exception as e:
|
9
|
+
print("Failed to import distribution from importlib_metadata")
|
10
|
+
try:
|
11
|
+
|
12
|
+
from importlib_metadata import distribution
|
13
|
+
except:
|
14
|
+
print("here")
|
4
15
|
import os
|
5
16
|
import platform
|
6
17
|
import sys
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
quarchpy/device/scanDevices.py
CHANGED
@@ -19,7 +19,7 @@ from quarchpy.device import quarchDevice, quarchArray
|
|
19
19
|
from quarchpy.connection_specific.connection_Serial import serialList, serial
|
20
20
|
from quarchpy.device.quarchArray import isThisAnArrayController
|
21
21
|
from quarchpy.connection_specific.connection_USB import TQuarchUSB_IF
|
22
|
-
from quarchpy.connection_specific import connection_ReST
|
22
|
+
from quarchpy.connection_specific import connection_ReST, connection_TCP
|
23
23
|
from quarchpy.connection_specific.connection_mDNS import MyListener
|
24
24
|
from quarchpy.utilities import TestCenter
|
25
25
|
|
@@ -183,6 +183,7 @@ def list_network(target_conn="all", debugPring=False, lanTimeout=1, ipAddressLoo
|
|
183
183
|
# Broadcast the message.
|
184
184
|
logging.debug("Broadcast LAN discovery message for UDP scan to all network interfaces")
|
185
185
|
ipList = socket.gethostbyname_ex(socket.gethostname())
|
186
|
+
temp1= socket.gethostname()
|
186
187
|
logging.debug(os.path.basename(__file__) + ": Discovered the following interfaces: " + str(ipList))
|
187
188
|
|
188
189
|
|
@@ -306,8 +307,13 @@ def get_user_level_serial_number(network_modules):
|
|
306
307
|
''''''
|
307
308
|
def lookupDevice(ipAddressLookup, mySocket, lan_modules):
|
308
309
|
try:
|
309
|
-
|
310
|
+
specifiedDevice =None
|
310
311
|
# For future reference, 0 is the C terminator for a string
|
312
|
+
timeout = mySocket.gettimeout()
|
313
|
+
# mySocket.settimeout(20)
|
314
|
+
# timeout2 = mySocket.gettimeout()
|
315
|
+
logging.debug("Ipaddress lookup =" + ipAddressLookup+ " timeout = "+ str(timeout))
|
316
|
+
|
311
317
|
mySocket.sendto(b'Discovery: Who is out there?\0\n', (str(ipAddressLookup).strip(), 30303))
|
312
318
|
specifiedDevice = mySocket.recvfrom(256)
|
313
319
|
# Check to see if the response contains the connection protocol
|
@@ -315,26 +321,47 @@ def lookupDevice(ipAddressLookup, mySocket, lan_modules):
|
|
315
321
|
except Exception as e:
|
316
322
|
logging.warning("Error during UDP lookup of IP address "+ str(ipAddressLookup) +" Error: " + str(e))
|
317
323
|
logging.warning("No Quarch module found at this address. Please check the IP address and that you can ping it.\r\n")
|
318
|
-
|
319
|
-
#
|
320
|
-
|
321
|
-
|
322
|
-
|
323
|
-
|
324
|
-
|
325
|
-
|
326
|
-
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
324
|
+
|
325
|
+
#return None # Commented out, attempt a REST connection with IP. This is what other quarch applications do.
|
326
|
+
if specifiedDevice is None: #Only True if TCP not found or errored
|
327
|
+
try:
|
328
|
+
restCon = connection_ReST.ReSTConn(str(ipAddressLookup).replace("\r\n", ""))
|
329
|
+
restDevice = restCon.sendCommand("*enclosure?") #Try use enclosure for PPMs
|
330
|
+
if "fail" in restDevice.lower(): # This will fail nicely for other modules
|
331
|
+
restDevice = restCon.sendCommand("*serial?") # and serial number will be used in place.
|
332
|
+
if not str(restDevice).startswith("QTL"):
|
333
|
+
restDevice = "QTL" + restDevice
|
334
|
+
# Exit as device was found correctly
|
335
|
+
# Add the item to list
|
336
|
+
lan_modules["REST:" + str(ipAddressLookup).replace("\r\n", "")] = restDevice
|
337
|
+
specifiedDevice=None # Don't return rest connection, to bypass tcp parsing.
|
338
|
+
except Exception as e:
|
339
|
+
logging.warning("Error During REST scan of IP address " + str(ipAddressLookup) + " Error: " + str(e))
|
340
|
+
logging.warning("Please check the IP address and that you can ping it.\r\n")
|
341
|
+
try:
|
342
|
+
# from threading import Thread
|
343
|
+
# t = Thread(target=connection_TCP.TCPConn, args=(str(ipAddressLookup).replace("\r\n", ""),))
|
344
|
+
# t.daemon = True
|
345
|
+
# t.start()
|
346
|
+
# t.join(50)
|
347
|
+
# if t.is_alive():
|
348
|
+
# raise TimeoutError("Timeout during TCP Connection attempt.")
|
349
|
+
|
350
|
+
tcpCon= connection_TCP.TCPConn(str(ipAddressLookup).replace("\r\n", ""))
|
351
|
+
tcpDevice = tcpCon.sendCommand("*enclosure?") #Try use enclosure for PPMs
|
352
|
+
if "fail" in tcpDevice.lower(): # This will fail nicely for other modules
|
353
|
+
tcpDevice = tcpCon.sendCommand("*serial?") # and serial number will be used in place.
|
354
|
+
if not str(tcpDevice).startswith("QTL"):
|
355
|
+
tcpDevice = "QTL" + tcpDevice
|
356
|
+
# Exit as device was found correctly
|
357
|
+
# Add the item to list
|
358
|
+
lan_modules["TCP:" + str(ipAddressLookup).replace("\r\n", "")] = tcpDevice
|
359
|
+
specifiedDevice=None # Don't return tcp connection, to bypass tcp parsing.
|
360
|
+
except Exception as e:
|
361
|
+
logging.warning("Error During TCP scan of IP address " + str(ipAddressLookup) + " Error: " + str(e))
|
362
|
+
logging.warning("Please check the IP address and that you can ping it.\r\n")
|
363
|
+
# Needs to return None so previous method will not attempt another lookup.
|
364
|
+
return specifiedDevice
|
338
365
|
|
339
366
|
|
340
367
|
|
@@ -462,7 +489,8 @@ def scanDevices(target_conn="all", lanTimeout=1, scanInArray=True, favouriteOnly
|
|
462
489
|
module_type_filter=None, ipAddressLookup=None):
|
463
490
|
foundDevices = dict()
|
464
491
|
scannedArrays = list()
|
465
|
-
|
492
|
+
mdnsListener = MyListener()
|
493
|
+
scan_mDNS(mdnsListener)
|
466
494
|
|
467
495
|
if target_conn.lower() == "all":
|
468
496
|
foundDevices = list_USB()
|
@@ -471,8 +499,6 @@ def scanDevices(target_conn="all", lanTimeout=1, scanInArray=True, favouriteOnly
|
|
471
499
|
#This will fail if the test machine is not connected to a network
|
472
500
|
foundDevices = mergeDict(foundDevices, list_network("all", ipAddressLookup=ipAddressLookup, lanTimeout=lanTimeout))
|
473
501
|
try:
|
474
|
-
mdnsListener = MyListener()
|
475
|
-
scan_mDNS(mdnsListener)
|
476
502
|
foundDevices = mergeDict(foundDevices, mdnsListener.found_devices)
|
477
503
|
except Exception as mdnsExcept:
|
478
504
|
logging.debug("An error occurred while trying to use the mdns listner to scan\n" +str(mdnsExcept))
|
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
|