MultiPyVu 3.1.0__tar.gz → 3.1.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {multipyvu-3.1.0/src/MultiPyVu.egg-info → multipyvu-3.1.1}/PKG-INFO +9 -2
- {multipyvu-3.1.0 → multipyvu-3.1.1}/README.md +8 -1
- {multipyvu-3.1.0 → multipyvu-3.1.1}/setup.py +3 -2
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/__version.py +1 -1
- multipyvu-3.1.1/src/MultiPyVu/logging_config.yaml +42 -0
- multipyvu-3.1.1/src/MultiPyVu/scripts/helper_scripts.py +118 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1/src/MultiPyVu.egg-info}/PKG-INFO +9 -2
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu.egg-info/SOURCES.txt +2 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/LICENSE +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/pyproject.toml +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/setup.cfg +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/BRT.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/CommandChamber.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/CommandField.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/CommandMultiVu.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/CommandSdo.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/CommandTemperature.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/CommandWaitFor.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/Command_factory.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/ICommand.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/IEventManager.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/IServer.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/MultiVuClient.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/MultiVuClient_base.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/MultiVuDataFile/MultiVuDataFile.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/MultiVuDataFile/__init__.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/MultiVuDataFile/__version.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/MultiVuDataFile/is_pathname_valid.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/MultiVuServer.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/ParseInputs.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/SocketMessage.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/SocketMessageClient.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/SocketMessageServer.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/__init__.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/__main__.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/check_windows_esc.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/exceptions.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/font/Play-Bold.ttf +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/font/Play-Regular.ttf +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/generate_sdo_objects.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/gui/Controller.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/gui/IController.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/gui/IView.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/gui/ViewFactory.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/gui/ViewTk.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/gui/__init__.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/images/Q.png +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/images/QD_logo.jpg +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/instrument.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/logging_config.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/project_vars.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/scripts/whats_my_ip_address.cmd +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu/sdo_object.py +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu.egg-info/dependency_links.txt +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu.egg-info/requires.txt +0 -0
- {multipyvu-3.1.0 → multipyvu-3.1.1}/src/MultiPyVu.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: MultiPyVu
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.1
|
|
4
4
|
Summary: Control MultiVu using Python
|
|
5
5
|
Author-email: Damon D Jackson <djackson@qdusa.com>
|
|
6
6
|
Maintainer-email: "Quantum Design, Inc." <apps@qdusa.com>
|
|
@@ -436,17 +436,24 @@ client = mpv.Client(port=6000)
|
|
|
436
436
|
- A log file named QdMultiVu.log shows the traffic between the server and client which can also be useful during troubleshooting.
|
|
437
437
|
|
|
438
438
|
## Changelog<a class="anchor" id="changelog"></a>
|
|
439
|
+
**3.1.1**
|
|
440
|
+
- October 2024
|
|
441
|
+
- Updated the installer to include missing files.
|
|
442
|
+
|
|
439
443
|
**3.1.0**
|
|
440
444
|
- October 2024
|
|
441
445
|
- Log the version number when the Client connects to the Server.
|
|
442
446
|
- Check that the Server and Client are running the same version.
|
|
443
447
|
- Increase the number of backup logs to 5.
|
|
444
448
|
- Bugfix to allow Client to run on Linux or Mac systems.
|
|
445
|
-
- Corrected a bug that prevented the Server from recognizing PPMS and MPMS3 MultiVu flavors
|
|
446
449
|
- Limit server to hosting only one client at a time.
|
|
447
450
|
- Add the ability to call -quit, -is_running, -status, -get_ip from the command line using python -m MultiPyVu
|
|
448
451
|
- Miscellaneous bug fixes and refactoring.
|
|
449
452
|
|
|
453
|
+
**2.2.0**
|
|
454
|
+
- January 2024
|
|
455
|
+
- Corrected a bug that prevented the Server from recognizing PPMS and MPMS3 MultiVu flavors
|
|
456
|
+
|
|
450
457
|
**2.1.4**
|
|
451
458
|
- October 2023
|
|
452
459
|
- Import full module as MultiPyVu. Instead of loading the three sub-modules as:
|
|
@@ -390,17 +390,24 @@ client = mpv.Client(port=6000)
|
|
|
390
390
|
- A log file named QdMultiVu.log shows the traffic between the server and client which can also be useful during troubleshooting.
|
|
391
391
|
|
|
392
392
|
## Changelog<a class="anchor" id="changelog"></a>
|
|
393
|
+
**3.1.1**
|
|
394
|
+
- October 2024
|
|
395
|
+
- Updated the installer to include missing files.
|
|
396
|
+
|
|
393
397
|
**3.1.0**
|
|
394
398
|
- October 2024
|
|
395
399
|
- Log the version number when the Client connects to the Server.
|
|
396
400
|
- Check that the Server and Client are running the same version.
|
|
397
401
|
- Increase the number of backup logs to 5.
|
|
398
402
|
- Bugfix to allow Client to run on Linux or Mac systems.
|
|
399
|
-
- Corrected a bug that prevented the Server from recognizing PPMS and MPMS3 MultiVu flavors
|
|
400
403
|
- Limit server to hosting only one client at a time.
|
|
401
404
|
- Add the ability to call -quit, -is_running, -status, -get_ip from the command line using python -m MultiPyVu
|
|
402
405
|
- Miscellaneous bug fixes and refactoring.
|
|
403
406
|
|
|
407
|
+
**2.2.0**
|
|
408
|
+
- January 2024
|
|
409
|
+
- Corrected a bug that prevented the Server from recognizing PPMS and MPMS3 MultiVu flavors
|
|
410
|
+
|
|
404
411
|
**2.1.4**
|
|
405
412
|
- October 2023
|
|
406
413
|
- Import full module as MultiPyVu. Instead of loading the three sub-modules as:
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
# -*- coding: utf-8 -*-
|
|
2
|
-
__version__ = "3.1.
|
|
2
|
+
__version__ = "3.1.1"
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
version: 1
|
|
2
|
+
disable_existing_loggers: True
|
|
3
|
+
formatters:
|
|
4
|
+
show_name:
|
|
5
|
+
format: '%(name)s - %(message)s'
|
|
6
|
+
no_name:
|
|
7
|
+
format: '%(message)s'
|
|
8
|
+
debug:
|
|
9
|
+
format: '%(asctime)-27s %(name)-20s %(levelname)-8s %(message)s'
|
|
10
|
+
gui:
|
|
11
|
+
format: '%(asctime)s - %(message)s'
|
|
12
|
+
datefmt: '%m-%d %H:%M'
|
|
13
|
+
handlers:
|
|
14
|
+
console:
|
|
15
|
+
class: logging.StreamHandler
|
|
16
|
+
level: INFO
|
|
17
|
+
formatter: show_name
|
|
18
|
+
stream: ext://sys.stdout
|
|
19
|
+
file:
|
|
20
|
+
class: logging.handlers.RotatingFileHandler
|
|
21
|
+
level: DEBUG
|
|
22
|
+
formatter: debug
|
|
23
|
+
filename: debug
|
|
24
|
+
maxBytes: 4194304 # 2^22
|
|
25
|
+
backupCount: 5
|
|
26
|
+
loggers:
|
|
27
|
+
MultiVuServer:
|
|
28
|
+
level: DEBUG
|
|
29
|
+
handlers: [console, file]
|
|
30
|
+
text_widget: text_widget
|
|
31
|
+
propagate: False
|
|
32
|
+
MultiVuClient:
|
|
33
|
+
level: DEBUG
|
|
34
|
+
handlers: [console, file]
|
|
35
|
+
propagate: False
|
|
36
|
+
UnitTest:
|
|
37
|
+
level: DEBUG
|
|
38
|
+
handlers: [console, file]
|
|
39
|
+
propagate: False
|
|
40
|
+
root:
|
|
41
|
+
level: WARNING
|
|
42
|
+
handlers: [console]
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"""
|
|
2
|
+
A few helpful scripts used in the MultiPyVu module
|
|
3
|
+
"""
|
|
4
|
+
|
|
5
|
+
from os import path
|
|
6
|
+
from sys import platform
|
|
7
|
+
import subprocess
|
|
8
|
+
import re
|
|
9
|
+
|
|
10
|
+
from MultiPyVu.MultiVuClient import Client
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def absolute_path(filename: str) -> str:
|
|
14
|
+
"""
|
|
15
|
+
Finds the absolute path of a file based on its location
|
|
16
|
+
relative to the gui module
|
|
17
|
+
|
|
18
|
+
Parameters:
|
|
19
|
+
-----------
|
|
20
|
+
filename: str
|
|
21
|
+
The file location based on its relative path from the gui module
|
|
22
|
+
"""
|
|
23
|
+
abs_path = path.abspath(
|
|
24
|
+
path.join(path.dirname(
|
|
25
|
+
__file__), './'))
|
|
26
|
+
return path.join(abs_path, filename)
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
def get_ip():
|
|
30
|
+
"""
|
|
31
|
+
The IP address for the computer
|
|
32
|
+
|
|
33
|
+
Returns:
|
|
34
|
+
--------
|
|
35
|
+
String with the IP address
|
|
36
|
+
"""
|
|
37
|
+
ip_output_str = ''
|
|
38
|
+
search_str = r'([0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3})'
|
|
39
|
+
if platform == 'win32':
|
|
40
|
+
ip_addr_script = 'whats_my_ip_address.cmd'
|
|
41
|
+
ip_addr_script = absolute_path(ip_addr_script)
|
|
42
|
+
proc = subprocess.run([ip_addr_script],
|
|
43
|
+
capture_output=True,
|
|
44
|
+
text=True)
|
|
45
|
+
if proc.returncode != 0:
|
|
46
|
+
print(proc.stderr)
|
|
47
|
+
raise Exception(proc.stderr)
|
|
48
|
+
ip_result = re.findall(search_str, proc.stdout)
|
|
49
|
+
if len(ip_result) == 1:
|
|
50
|
+
ip_address = ip_result[0]
|
|
51
|
+
else:
|
|
52
|
+
# using this suggestion:
|
|
53
|
+
# https://apple.stackexchange.com/questions/20547/how-do-i-find-my-ip-address-from-the-command-line
|
|
54
|
+
ifconfig_proc = subprocess.Popen(["ifconfig"],
|
|
55
|
+
stdout=subprocess.PIPE,
|
|
56
|
+
text=True)
|
|
57
|
+
grep_proc = subprocess.Popen(["grep", "inet"],
|
|
58
|
+
stdin=ifconfig_proc.stdout,
|
|
59
|
+
stdout=subprocess.PIPE,
|
|
60
|
+
text=True)
|
|
61
|
+
ip_output_str, err = grep_proc.communicate()
|
|
62
|
+
if err is not None:
|
|
63
|
+
print(err)
|
|
64
|
+
raise Exception(grep_proc.stderr)
|
|
65
|
+
ip_result = re.findall(search_str, ip_output_str)
|
|
66
|
+
if '127.0.0.1' in ip_result:
|
|
67
|
+
ip_result.remove('127.0.0.1')
|
|
68
|
+
if len(ip_result) >= 1:
|
|
69
|
+
ip_address = ip_result[0]
|
|
70
|
+
return ip_address
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
def run_status(ip: str, port: int):
|
|
74
|
+
"""
|
|
75
|
+
Queries the server for its status.
|
|
76
|
+
"""
|
|
77
|
+
ip_address = ip
|
|
78
|
+
if ip_address == '0.0.0.0':
|
|
79
|
+
ip_address = 'localhost'
|
|
80
|
+
|
|
81
|
+
client = Client(host=ip_address,
|
|
82
|
+
port=port)
|
|
83
|
+
response = client.get_server_status()
|
|
84
|
+
print(f'Server status: {response}')
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
def is_running(ip: str, port: int):
|
|
88
|
+
"""
|
|
89
|
+
Queries the server to see if it is running
|
|
90
|
+
"""
|
|
91
|
+
ip_address = ip
|
|
92
|
+
if ip_address == '0.0.0.0':
|
|
93
|
+
ip_address = 'localhost'
|
|
94
|
+
|
|
95
|
+
client = Client(host=ip_address,
|
|
96
|
+
port=port)
|
|
97
|
+
response = client.is_server_running()
|
|
98
|
+
if response:
|
|
99
|
+
print(f'Server is running at {client.address}')
|
|
100
|
+
else:
|
|
101
|
+
print(f'Server not running at {client.address}')
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
def force_quit(ip: str, port: int) -> str:
|
|
105
|
+
"""
|
|
106
|
+
Quits the server.
|
|
107
|
+
"""
|
|
108
|
+
ip_address = ip
|
|
109
|
+
if ip_address == '0.0.0.0':
|
|
110
|
+
ip_address = 'localhost'
|
|
111
|
+
|
|
112
|
+
client = Client(host=ip_address,
|
|
113
|
+
port=port)
|
|
114
|
+
response = client.force_quit_server()
|
|
115
|
+
if response:
|
|
116
|
+
return response
|
|
117
|
+
else:
|
|
118
|
+
return f'Sent quit command to {client.address}'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: MultiPyVu
|
|
3
|
-
Version: 3.1.
|
|
3
|
+
Version: 3.1.1
|
|
4
4
|
Summary: Control MultiVu using Python
|
|
5
5
|
Author-email: Damon D Jackson <djackson@qdusa.com>
|
|
6
6
|
Maintainer-email: "Quantum Design, Inc." <apps@qdusa.com>
|
|
@@ -436,17 +436,24 @@ client = mpv.Client(port=6000)
|
|
|
436
436
|
- A log file named QdMultiVu.log shows the traffic between the server and client which can also be useful during troubleshooting.
|
|
437
437
|
|
|
438
438
|
## Changelog<a class="anchor" id="changelog"></a>
|
|
439
|
+
**3.1.1**
|
|
440
|
+
- October 2024
|
|
441
|
+
- Updated the installer to include missing files.
|
|
442
|
+
|
|
439
443
|
**3.1.0**
|
|
440
444
|
- October 2024
|
|
441
445
|
- Log the version number when the Client connects to the Server.
|
|
442
446
|
- Check that the Server and Client are running the same version.
|
|
443
447
|
- Increase the number of backup logs to 5.
|
|
444
448
|
- Bugfix to allow Client to run on Linux or Mac systems.
|
|
445
|
-
- Corrected a bug that prevented the Server from recognizing PPMS and MPMS3 MultiVu flavors
|
|
446
449
|
- Limit server to hosting only one client at a time.
|
|
447
450
|
- Add the ability to call -quit, -is_running, -status, -get_ip from the command line using python -m MultiPyVu
|
|
448
451
|
- Miscellaneous bug fixes and refactoring.
|
|
449
452
|
|
|
453
|
+
**2.2.0**
|
|
454
|
+
- January 2024
|
|
455
|
+
- Corrected a bug that prevented the Server from recognizing PPMS and MPMS3 MultiVu flavors
|
|
456
|
+
|
|
450
457
|
**2.1.4**
|
|
451
458
|
- October 2023
|
|
452
459
|
- Import full module as MultiPyVu. Instead of loading the three sub-modules as:
|
|
@@ -28,6 +28,7 @@ src/MultiPyVu/exceptions.py
|
|
|
28
28
|
src/MultiPyVu/generate_sdo_objects.py
|
|
29
29
|
src/MultiPyVu/instrument.py
|
|
30
30
|
src/MultiPyVu/logging_config.py
|
|
31
|
+
src/MultiPyVu/logging_config.yaml
|
|
31
32
|
src/MultiPyVu/project_vars.py
|
|
32
33
|
src/MultiPyVu/sdo_object.py
|
|
33
34
|
src/MultiPyVu.egg-info/PKG-INFO
|
|
@@ -49,4 +50,5 @@ src/MultiPyVu/gui/ViewTk.py
|
|
|
49
50
|
src/MultiPyVu/gui/__init__.py
|
|
50
51
|
src/MultiPyVu/images/Q.png
|
|
51
52
|
src/MultiPyVu/images/QD_logo.jpg
|
|
53
|
+
src/MultiPyVu/scripts/helper_scripts.py
|
|
52
54
|
src/MultiPyVu/scripts/whats_my_ip_address.cmd
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|