MultiPyVu 3.1.2__tar.gz → 3.2.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. {multipyvu-3.1.2/src/MultiPyVu.egg-info → multipyvu-3.2.0}/PKG-INFO +5 -1
  2. {multipyvu-3.1.2 → multipyvu-3.2.0}/README.md +4 -0
  3. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/BRT.py +1 -1
  4. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/CommandChamber.py +1 -1
  5. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/CommandField.py +2 -2
  6. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/CommandMultiVu.py +3 -3
  7. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/CommandSdo.py +3 -3
  8. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/CommandTemperature.py +3 -3
  9. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/CommandWaitFor.py +11 -11
  10. multipyvu-3.2.0/src/MultiPyVu/GetRunningProcesses.py +28 -0
  11. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/ICommand.py +3 -3
  12. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/ParseInputs.py +2 -2
  13. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/SocketMessage.py +7 -7
  14. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/__init__.py +7 -7
  15. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/__main__.py +1 -1
  16. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/__version.py +1 -1
  17. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/exceptions.py +1 -1
  18. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/generate_sdo_objects.py +1 -1
  19. multipyvu-3.2.0/src/MultiPyVu/gui/__init__.py +0 -0
  20. multipyvu-3.2.0/src/MultiPyVu/images/__init__.py +0 -0
  21. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/instrument.py +25 -25
  22. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/logging_config.py +6 -2
  23. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/project_vars.py +2 -2
  24. multipyvu-3.2.0/src/MultiPyVu/scripts/__init__.py +0 -0
  25. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/scripts/helper_scripts.py +2 -2
  26. {multipyvu-3.1.2 → multipyvu-3.2.0/src/MultiPyVu.egg-info}/PKG-INFO +5 -1
  27. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu.egg-info/SOURCES.txt +4 -0
  28. {multipyvu-3.1.2 → multipyvu-3.2.0}/LICENSE +0 -0
  29. {multipyvu-3.1.2 → multipyvu-3.2.0}/pyproject.toml +0 -0
  30. {multipyvu-3.1.2 → multipyvu-3.2.0}/setup.cfg +0 -0
  31. {multipyvu-3.1.2 → multipyvu-3.2.0}/setup.py +0 -0
  32. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/Command_factory.py +0 -0
  33. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/IEventManager.py +0 -0
  34. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/IServer.py +1 -1
  35. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/MultiVuClient.py +16 -16
  36. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/MultiVuClient_base.py +9 -9
  37. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/MultiVuDataFile/MultiVuDataFile.py +0 -0
  38. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/MultiVuDataFile/__init__.py +0 -0
  39. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/MultiVuDataFile/__version.py +0 -0
  40. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/MultiVuDataFile/is_pathname_valid.py +0 -0
  41. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/MultiVuServer.py +12 -12
  42. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/SocketMessageClient.py +4 -4
  43. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/SocketMessageServer.py +10 -10
  44. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/check_windows_esc.py +0 -0
  45. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/font/Play-Bold.ttf +0 -0
  46. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/font/Play-Regular.ttf +0 -0
  47. {multipyvu-3.1.2/src/MultiPyVu/gui → multipyvu-3.2.0/src/MultiPyVu/font}/__init__.py +0 -0
  48. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/gui/Controller.py +7 -7
  49. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/gui/IController.py +0 -0
  50. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/gui/IView.py +0 -0
  51. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/gui/ViewFactory.py +0 -0
  52. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/gui/ViewTk.py +3 -3
  53. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/images/Q.png +0 -0
  54. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/images/QD_logo.jpg +0 -0
  55. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/logging_config.yaml +0 -0
  56. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/scripts/whats_my_ip_address.cmd +0 -0
  57. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu/sdo_object.py +0 -0
  58. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu.egg-info/dependency_links.txt +0 -0
  59. {multipyvu-3.1.2 → multipyvu-3.2.0}/src/MultiPyVu.egg-info/requires.txt +0 -0
  60. {multipyvu-3.1.2 → multipyvu-3.2.0}/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.2
3
+ Version: 3.2.0
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>
@@ -435,6 +435,10 @@ client = mpv.Client(port=6000)
435
435
  - A log file named QdMultiVu.log shows the traffic between the server and client which can also be useful during troubleshooting.
436
436
 
437
437
  ## Changelog<a class="anchor" id="changelog"></a>
438
+ **3.2.0**
439
+ - November 2024
440
+ - Improvements in determining the running version of MultiVu.
441
+
438
442
  **3.1.2**
439
443
  - October 2024
440
444
  - Fixed a bug which truncated numbers
@@ -390,6 +390,10 @@ 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.2.0**
394
+ - November 2024
395
+ - Improvements in determining the running version of MultiVu.
396
+
393
397
  **3.1.2**
394
398
  - October 2024
395
399
  - Fixed a bug which truncated numbers
@@ -2,8 +2,8 @@
2
2
  BRT.py is an abstraction of the BRT module.
3
3
  """
4
4
 
5
- from typing import Tuple
6
5
  import time
6
+ from typing import Tuple
7
7
 
8
8
  from .sdo_object import SdoObject, val_type
9
9
 
@@ -11,6 +11,7 @@ from abc import abstractmethod
11
11
  from enum import IntEnum
12
12
  from typing import Union, Dict, Tuple, List
13
13
 
14
+ from .exceptions import MultiPyVuError
14
15
  from .ICommand import (ICommand,
15
16
  ICommandImp,
16
17
  ISimulateChange,
@@ -18,7 +19,6 @@ from .ICommand import (ICommand,
18
19
  catch_thread_error,
19
20
  )
20
21
  from .IEventManager import IObserver
21
- from .exceptions import MultiPyVuError
22
22
 
23
23
 
24
24
  class modeEnum(IntEnum):
@@ -7,12 +7,13 @@ Created on Tue May 18 13:14:28 2021
7
7
  @author: djackson
8
8
  """
9
9
 
10
+ from abc import abstractmethod
10
11
  import time
11
12
  from enum import IntEnum
12
- from abc import abstractmethod
13
13
  from typing import Union, Dict, Tuple, List
14
14
 
15
15
  from .check_windows_esc import _check_windows_esc
16
+ from .exceptions import MultiPyVuError
16
17
  from .ICommand import (ICommand,
17
18
  ICommandImp,
18
19
  ISimulateChange,
@@ -21,7 +22,6 @@ from .ICommand import (ICommand,
21
22
  )
22
23
  from .IEventManager import IObserver
23
24
  from .project_vars import CLOCK_TIME
24
- from .exceptions import MultiPyVuError
25
25
 
26
26
 
27
27
  class ApproachEnum(IntEnum):
@@ -10,14 +10,14 @@ Created on Sat June 12 17:35:28 2021
10
10
  @author: djackson
11
11
  """
12
12
 
13
- from sys import platform
13
+ import logging
14
14
  from abc import abstractmethod
15
+ from sys import platform
15
16
  from typing import Tuple, Dict
16
- import logging
17
17
 
18
+ from .exceptions import MultiPyVuError, PythoncomImportError
18
19
  from .ICommand import ICommand
19
20
  from .project_vars import SERVER_NAME
20
- from .exceptions import MultiPyVuError, PythoncomImportError
21
21
 
22
22
 
23
23
  if platform == 'win32':
@@ -4,11 +4,11 @@ CommandSdo.py is used to read and write SDOs
4
4
  @author: djackson
5
5
  """
6
6
 
7
- from sys import platform
8
7
  import struct
9
8
  import re
10
9
  import logging
11
10
  from abc import abstractmethod
11
+ from sys import platform
12
12
  from typing import Union, Tuple, Dict
13
13
 
14
14
  from .exceptions import (MultiPyVuError,
@@ -16,11 +16,11 @@ from .exceptions import (MultiPyVuError,
16
16
  CanError,
17
17
  can_err_enum,
18
18
  abort_err_enum,
19
+ PythoncomImportError
19
20
  )
20
21
  from .ICommand import ICommand
21
- from .sdo_object import SdoObject, val_type
22
22
  from .project_vars import SERVER_NAME, CLIENT_NAME
23
- from .exceptions import PythoncomImportError
23
+ from .sdo_object import SdoObject, val_type
24
24
 
25
25
 
26
26
  if platform == 'win32':
@@ -7,12 +7,13 @@ Created on Tue May 18 13:14:28 2021
7
7
  @author: djackson
8
8
  """
9
9
 
10
- from enum import IntEnum
11
10
  import time
12
- from typing import Union, Tuple, Dict, List
13
11
  from abc import abstractmethod
12
+ from enum import IntEnum
13
+ from typing import Union, Tuple, Dict, List
14
14
 
15
15
  from .check_windows_esc import _check_windows_esc
16
+ from .exceptions import MultiPyVuError
16
17
  from .ICommand import (ICommand,
17
18
  ICommandImp,
18
19
  ISimulateChange,
@@ -21,7 +22,6 @@ from .ICommand import (ICommand,
21
22
  )
22
23
  from .IEventManager import IObserver
23
24
  from .project_vars import CLOCK_TIME
24
- from .exceptions import MultiPyVuError
25
25
 
26
26
 
27
27
  class ApproachEnum(IntEnum):
@@ -6,27 +6,27 @@ Created on Tue May 18 13:14:28 2021
6
6
  @author: djackson
7
7
  """
8
8
 
9
- from sys import platform
10
- from enum import IntEnum
11
9
  import time
12
- from typing import Union, Tuple, Dict, List
13
10
  from abc import abstractmethod
11
+ from enum import IntEnum
12
+ from sys import platform
13
+ from typing import Union, Tuple, Dict, List
14
14
 
15
15
  from .check_windows_esc import _check_windows_esc
16
- from .IEventManager import IObserver
17
- from .ICommand import (ICommand,
18
- ICommandImp,
19
- ISimulateChange
20
- )
21
- from .CommandTemperature import SimulateTemperatureChange
22
- from .CommandField import SimulateFieldChange
23
16
  from .CommandChamber import SimulateChamberChange
24
- from .project_vars import CLOCK_TIME
17
+ from .CommandField import SimulateFieldChange
18
+ from .CommandTemperature import SimulateTemperatureChange
25
19
  from .exceptions import (MultiPyVuError,
26
20
  PythoncomImportError,
27
21
  CanError,
28
22
  can_err_enum,
29
23
  )
24
+ from .IEventManager import IObserver
25
+ from .ICommand import (ICommand,
26
+ ICommandImp,
27
+ ISimulateChange
28
+ )
29
+ from .project_vars import CLOCK_TIME
30
30
 
31
31
  if platform == 'win32':
32
32
  try:
@@ -0,0 +1,28 @@
1
+ '''
2
+ This script gets a list of running processes
3
+ '''
4
+
5
+ import win32process
6
+ import win32api
7
+ from os import path
8
+
9
+
10
+ search_keyword = "MultiVu"
11
+
12
+ # Get a list of all running processes
13
+ pids = win32process.EnumProcesses()
14
+
15
+ for pid in pids:
16
+ try:
17
+ # Open processes to query its executable path
18
+ h_process = win32api.OpenProcess(0x0410, False, pid)
19
+ exe_path = win32process.GetModuleFileNameEx(h_process, 0)
20
+ win32api.CloseHandle(h_process)
21
+
22
+ # Check if the path contains the keyword
23
+ if search_keyword.lower() in exe_path.lower():
24
+ exe_name = path.basename(exe_path)
25
+ print(f"PID: {pid}, Executable Path: {exe_path}, exe name: {exe_name}")
26
+ except Exception:
27
+ # Ignore processes that we don't have access to
28
+ pass
@@ -13,15 +13,15 @@ Created on Tue May 18 12:59:24 2021
13
13
  @author: djackson
14
14
  """
15
15
 
16
- from sys import platform
17
- from typing import Union, Dict, Tuple, Type
18
16
  from abc import ABC, abstractmethod
17
+ from sys import platform
19
18
  from threading import Thread, Lock, enumerate
20
19
  from time import time, sleep
20
+ from typing import Union, Dict, Tuple, Type
21
21
 
22
+ from .exceptions import PythoncomImportError
22
23
  from .IEventManager import Publisher, IObserver
23
24
  from .project_vars import CLOCK_TIME
24
- from .exceptions import PythoncomImportError
25
25
 
26
26
  if platform == 'win32':
27
27
  try:
@@ -5,9 +5,9 @@ command-line inputs
5
5
 
6
6
  """
7
7
 
8
- import sys
9
- import re
10
8
  import ntpath
9
+ import re
10
+ import sys
11
11
  from typing import List
12
12
 
13
13
  from .instrument import InstrumentList
@@ -8,21 +8,21 @@ Created on Mon Jun 7 23:47:19 2021
8
8
  @author: D. Jackson
9
9
  """
10
10
 
11
- import sys
12
- from abc import ABC
13
- import socket
14
- import json
15
11
  import io
12
+ import json
16
13
  import logging
17
- import struct
18
14
  import re
15
+ import socket
16
+ import struct
17
+ import sys
18
+ from abc import ABC
19
19
  from typing import Union, Dict, Tuple
20
20
 
21
- from .project_vars import PORT
21
+ from .__version import __version__ as mpv_version
22
22
  from .exceptions import (ClientCloseError,
23
23
  SocketError,
24
24
  )
25
- from .__version import __version__ as mpv_version
25
+ from .project_vars import PORT
26
26
 
27
27
 
28
28
  class Message(ABC):
@@ -22,25 +22,25 @@ Import MultiPyVu as mpv
22
22
  @author: Damon D Jackson
23
23
  """
24
24
 
25
- from sys import exc_info
26
- from os import path
27
25
  import traceback
28
- from pandas import DataFrame
29
26
  from enum import IntEnum as _IntEnum
30
27
  from enum import auto as _auto
28
+ from os import path
29
+ from pandas import DataFrame
30
+ from sys import exc_info
31
31
  from typing import Union
32
32
 
33
33
  from .__version import __version__
34
- from .MultiVuServer import Server
34
+ from .exceptions import MultiPyVuError, SocketError
35
35
  from .MultiVuClient import Client
36
+ from .MultiVuDataFile.MultiVuDataFile import LabelResult
36
37
  from .MultiVuDataFile.MultiVuDataFile import MultiVuDataFile as _MultiVuDataFile
38
+ from .MultiVuDataFile.MultiVuDataFile import MultiVuFileException
37
39
  from .MultiVuDataFile.MultiVuDataFile import TScaleType as _TScaleType
38
40
  from .MultiVuDataFile.MultiVuDataFile import TStartupAxisType as _TStartupAxisType
39
41
  from .MultiVuDataFile.MultiVuDataFile import TTimeUnits as _TTimeUnits
40
42
  from .MultiVuDataFile.MultiVuDataFile import TTimeMode as _TTimeMode
41
- from .MultiVuDataFile.MultiVuDataFile import LabelResult
42
- from .MultiVuDataFile.MultiVuDataFile import MultiVuFileException
43
- from .exceptions import MultiPyVuError, SocketError
43
+ from .MultiVuServer import Server
44
44
 
45
45
 
46
46
  __version__ = __version__
@@ -17,11 +17,11 @@ For example:
17
17
  from sys import argv
18
18
 
19
19
  from MultiPyVu.gui.Controller import Controller
20
+ from MultiPyVu.ParseInputs import parse_input
20
21
  from MultiPyVu.scripts.helper_scripts import (get_ip,
21
22
  run_status,
22
23
  is_running,
23
24
  force_quit)
24
- from MultiPyVu.ParseInputs import parse_input
25
25
 
26
26
 
27
27
  def run_gui():
@@ -1,2 +1,2 @@
1
1
  # -*- coding: utf-8 -*-
2
- __version__ = "3.1.2"
2
+ __version__ = "3.2.0"
@@ -3,8 +3,8 @@ Custom exceptions for MultiPyVu
3
3
  """
4
4
 
5
5
 
6
- from sys import exit, platform
7
6
  from enum import IntEnum
7
+ from sys import exit, platform
8
8
  from typing import Tuple
9
9
 
10
10
 
@@ -10,9 +10,9 @@ in the same location as the cop file and will have the same
10
10
  name with the .py ending.
11
11
  """
12
12
 
13
- from sys import argv, exit
14
13
  import os.path
15
14
  import re
15
+ from sys import argv, exit
16
16
 
17
17
  from MultiPyVu.CommandSdo import SdoObject, val_type
18
18
 
File without changes
File without changes
@@ -8,22 +8,23 @@ Created on Tue May 18 13:14:28 2021
8
8
  @author: djackson
9
9
  """
10
10
 
11
- from sys import platform
12
- import subprocess
13
- import time
14
- import re
15
11
  import logging
12
+ import time
16
13
  from enum import Enum, auto
14
+ from os import path
15
+ from sys import platform
17
16
  from typing import Tuple
18
17
 
19
- from .project_vars import SERVER_NAME, PYWIN32_VERSION, MIN_PYWIN32_VERSION
20
18
  from .exceptions import MultiPyVuError, PythoncomImportError
21
19
  from .__version import __version__ as mpv_version
20
+ from .project_vars import SERVER_NAME, PYWIN32_VERSION, MIN_PYWIN32_VERSION
22
21
 
23
22
  if platform == 'win32':
24
23
  try:
25
24
  import pythoncom
26
25
  import win32com.client as win32
26
+ import win32api
27
+ import win32process
27
28
  except ImportError:
28
29
  raise PythoncomImportError
29
30
 
@@ -218,28 +219,27 @@ class Instrument():
218
219
  # declare these variables so that they are available to return
219
220
  common_name = ''
220
221
  exe_name = ''
222
+ open_mv_dict = {}
221
223
 
222
- # Use WMIC to get the list of running programs with 'multivu'
223
- # in their path
224
- cmd = 'WMIC PROCESS WHERE "COMMANDLINE like \'%multivu%\'" GET '
225
- cmd += 'Caption,Commandline,Processid'
226
- proc = subprocess.run(cmd, capture_output=True, text=True)
227
- if proc.returncode != 0:
228
- raise Exception(proc.stderr)
229
- # make a dictionary whose key is the MultiVu flavor, and the
224
+ # Find processes with 'MultiVu' in the name and make
225
+ # a dictionary whose key is the MultiVu flavor, and the
230
226
  # value is a tuple with the exe path and process id
231
- exe_search = r'([\w]*).exe[ ]*\"([:\\\w]*.exe)"[ \/\-a-zA-Z]*([0-9]*)'
232
- open_mv_dict = {}
233
- for i in proc.stdout.split('\n\n'):
234
- exe_found = re.findall(exe_search, i)
235
- if len(exe_found) > 0:
236
- name, location, process_id = exe_found[0]
237
- exe_name = name + '.exe'
238
- common_name = self._exe_to_common_name(exe_name)
239
- open_mv_dict[common_name] = (location,
240
- exe_name,
241
- process_id,
242
- )
227
+ pids = win32process.EnumProcesses()
228
+ for pid in pids:
229
+ try:
230
+ # Open processes to query its executable path
231
+ h_process = win32api.OpenProcess(0x0410, False, pid)
232
+ exe_path = win32process.GetModuleFileNameEx(h_process, 0)
233
+ win32api.CloseHandle(h_process)
234
+
235
+ # Check if the path contains the keyword
236
+ if 'multivu' in exe_path.lower():
237
+ exe_name = path.basename(exe_path)
238
+ common_name = self._exe_to_common_name(exe_name)
239
+ open_mv_dict[common_name] = (exe_path, exe_name)
240
+ except Exception:
241
+ # Ignore processes that we don't have access to
242
+ pass
243
243
 
244
244
  # Declare errors if no MultiVu instance is found
245
245
  if len(open_mv_dict) == 0:
@@ -1,7 +1,11 @@
1
- from os import path
1
+ '''
2
+ loggin_config.py is used to hold methods to help with the logging module
3
+ '''
4
+
2
5
  import logging.config
3
- from logging import Logger
4
6
  import yaml
7
+ from logging import Logger
8
+ from os import path
5
9
 
6
10
  from .project_vars import LOG_NAME
7
11
 
@@ -7,9 +7,9 @@ Created on Mon Sep 27 10:53:06 2021
7
7
  @author: D. Jackson
8
8
  """
9
9
 
10
- from sys import platform
11
- import os
12
10
  import distutils.sysconfig
11
+ import os
12
+ from sys import platform
13
13
 
14
14
  from .exceptions import PythoncomImportError
15
15
 
File without changes
@@ -2,10 +2,10 @@
2
2
  A few helpful scripts used in the MultiPyVu module
3
3
  """
4
4
 
5
+ import re
6
+ import subprocess
5
7
  from os import path
6
8
  from sys import platform
7
- import subprocess
8
- import re
9
9
 
10
10
  from MultiPyVu.MultiVuClient import Client
11
11
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: MultiPyVu
3
- Version: 3.1.2
3
+ Version: 3.2.0
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>
@@ -435,6 +435,10 @@ client = mpv.Client(port=6000)
435
435
  - A log file named QdMultiVu.log shows the traffic between the server and client which can also be useful during troubleshooting.
436
436
 
437
437
  ## Changelog<a class="anchor" id="changelog"></a>
438
+ **3.2.0**
439
+ - November 2024
440
+ - Improvements in determining the running version of MultiVu.
441
+
438
442
  **3.1.2**
439
443
  - October 2024
440
444
  - Fixed a bug which truncated numbers
@@ -10,6 +10,7 @@ src/MultiPyVu/CommandSdo.py
10
10
  src/MultiPyVu/CommandTemperature.py
11
11
  src/MultiPyVu/CommandWaitFor.py
12
12
  src/MultiPyVu/Command_factory.py
13
+ src/MultiPyVu/GetRunningProcesses.py
13
14
  src/MultiPyVu/ICommand.py
14
15
  src/MultiPyVu/IEventManager.py
15
16
  src/MultiPyVu/IServer.py
@@ -42,6 +43,7 @@ src/MultiPyVu/MultiVuDataFile/__version.py
42
43
  src/MultiPyVu/MultiVuDataFile/is_pathname_valid.py
43
44
  src/MultiPyVu/font/Play-Bold.ttf
44
45
  src/MultiPyVu/font/Play-Regular.ttf
46
+ src/MultiPyVu/font/__init__.py
45
47
  src/MultiPyVu/gui/Controller.py
46
48
  src/MultiPyVu/gui/IController.py
47
49
  src/MultiPyVu/gui/IView.py
@@ -50,5 +52,7 @@ src/MultiPyVu/gui/ViewTk.py
50
52
  src/MultiPyVu/gui/__init__.py
51
53
  src/MultiPyVu/images/Q.png
52
54
  src/MultiPyVu/images/QD_logo.jpg
55
+ src/MultiPyVu/images/__init__.py
56
+ src/MultiPyVu/scripts/__init__.py
53
57
  src/MultiPyVu/scripts/helper_scripts.py
54
58
  src/MultiPyVu/scripts/whats_my_ip_address.cmd
File without changes
File without changes
File without changes
File without changes
@@ -7,8 +7,8 @@ It requires ABCplus (Abstract Base Class plus), which is found here:
7
7
  @author: djackson
8
8
  """
9
9
 
10
- from typing import Union, Tuple
11
10
  from abc import ABC, abstractmethod
11
+ from typing import Union, Tuple
12
12
 
13
13
  from .project_vars import PORT
14
14
 
@@ -13,36 +13,36 @@ with MultiVu.
13
13
  @author: D. Jackson
14
14
  """
15
15
 
16
- from sys import exc_info
17
- from enum import IntEnum
18
16
  import traceback
17
+ from enum import IntEnum
18
+ from sys import exc_info
19
19
  from typing import Union, Tuple
20
20
 
21
- from .MultiVuClient_base import ClientBase as _ClientBase
22
- from .instrument import InstrumentList
21
+ from .BRT import Brt as _brt
23
22
  from . import Command_factory as _Command_factory
24
- from .CommandTemperature import STATE_DICT as _temperature_state_dict
25
- from .CommandTemperature import ApproachEnum as _temperature_approach_mode
26
- from .CommandTemperature import units as _temperature_units
23
+ from .CommandChamber import modeEnum as _chamber_mode
24
+ from .CommandChamber import units as _chamber_units
27
25
  from .CommandField import ApproachEnum as _field_approach_mode
28
26
  from .CommandField import drivenEnum as _field_driven_mode
29
27
  from .CommandField import units as _field_units
30
- from .CommandChamber import modeEnum as _chamber_mode
31
- from .CommandChamber import units as _chamber_units
28
+ from .CommandTemperature import STATE_DICT as _temperature_state_dict
29
+ from .CommandTemperature import ApproachEnum as _temperature_approach_mode
30
+ from .CommandTemperature import units as _temperature_units
32
31
  from .CommandWaitFor import MaskEnum as _wait_for_enum
33
- from .sdo_object import SdoObject
34
- from .sdo_object import val_type as _sdo_val_type
35
- from .BRT import Brt as _brt
36
- from .project_vars import (HOST_CLIENT,
37
- PORT,
38
- TIMEOUT_LENGTH
39
- )
40
32
  from .exceptions import (MultiPyVuError,
41
33
  ServerCloseError,
42
34
  CanError,
43
35
  can_err_enum,
44
36
  abort_err_enum,
45
37
  )
38
+ from .instrument import InstrumentList
39
+ from .MultiVuClient_base import ClientBase as _ClientBase
40
+ from .project_vars import (HOST_CLIENT,
41
+ PORT,
42
+ TIMEOUT_LENGTH
43
+ )
44
+ from .sdo_object import SdoObject
45
+ from .sdo_object import val_type as _sdo_val_type
46
46
 
47
47
 
48
48
  class Client(_ClientBase):
@@ -12,15 +12,20 @@ MultiVuClient class has specific commands to be used with this class.
12
12
  @author: D. Jackson
13
13
  """
14
14
 
15
+ import logging
15
16
  import sys
17
+ import traceback
16
18
  from socket import timeout as sock_timeout
17
19
  from time import sleep
18
- import logging
19
- import traceback
20
20
  from typing import Dict, Union
21
21
 
22
22
 
23
- from .SocketMessageClient import ClientMessage as _ClientMessage
23
+ from .__version import __version__ as mpv_version
24
+ from .exceptions import (MultiPyVuError,
25
+ ClientCloseError,
26
+ ServerCloseError,
27
+ SocketError
28
+ )
24
29
  from .logging_config import setup_logging, remove_logs
25
30
  from .project_vars import (TIMEOUT_LENGTH,
26
31
  CLIENT_NAME,
@@ -28,12 +33,7 @@ from .project_vars import (TIMEOUT_LENGTH,
28
33
  PORT,
29
34
  CLOCK_TIME,
30
35
  )
31
- from .exceptions import (MultiPyVuError,
32
- ClientCloseError,
33
- ServerCloseError,
34
- SocketError
35
- )
36
- from .__version import __version__ as mpv_version
36
+ from .SocketMessageClient import ClientMessage as _ClientMessage
37
37
 
38
38
 
39
39
  MAX_TRIES = 3
@@ -8,37 +8,37 @@ be used with MultiVuClient.py to control a Quantum Design cryostat.
8
8
  @author: D. Jackson
9
9
  """
10
10
 
11
+ import logging
12
+ import re
11
13
  import sys
12
14
  import selectors
13
- import re
14
- from time import sleep
15
- import logging
16
15
  import traceback
16
+ from time import sleep
17
17
  from typing import List, Tuple
18
18
 
19
19
 
20
- from .scripts.helper_scripts import force_quit
21
- from .IServer import IServer as _IServer
22
- from .IEventManager import IObserver as _IObserver
23
- from .SocketMessageServer import ServerMessage as _ServerMessage
24
- from .SocketMessageServer import ServerStatus as _ServerStatus
25
- from .ParseInputs import inputs_from_command_line
26
- from .instrument import Instrument as _Instrument
27
- from .CommandTemperature import SimulateTemperatureChange as _SimulateTemperatureChange
28
- from .CommandField import SimulateFieldChange as _SimulateFieldChange
29
20
  from .CommandChamber import SimulateChamberChange as _SimulateChamberChange
21
+ from .CommandField import SimulateFieldChange as _SimulateFieldChange
22
+ from .CommandTemperature import SimulateTemperatureChange as _SimulateTemperatureChange
30
23
  from .exceptions import (MultiPyVuError,
31
24
  ClientCloseError,
32
25
  ServerCloseError,
33
26
  SocketError,
34
27
  )
28
+ from .IEventManager import IObserver as _IObserver
29
+ from .IServer import IServer as _IServer
30
+ from .instrument import Instrument as _Instrument
35
31
  from .logging_config import setup_logging, remove_logs
32
+ from .ParseInputs import inputs_from_command_line
36
33
  from .project_vars import (SERVER_NAME,
37
34
  HOST_SERVER,
38
35
  PORT,
39
36
  TIMEOUT_LENGTH,
40
37
  CLOCK_TIME,
41
38
  )
39
+ from .scripts.helper_scripts import force_quit
40
+ from .SocketMessageServer import ServerMessage as _ServerMessage
41
+ from .SocketMessageServer import ServerStatus as _ServerStatus
42
42
 
43
43
 
44
44
  class Server(_IServer):
@@ -8,21 +8,21 @@ Created on Mon Jun 7 23:47:19 2021
8
8
  @author: D. Jackson
9
9
  """
10
10
 
11
- import re
12
11
  import logging
12
+ import re
13
13
  import socket
14
14
  from time import sleep
15
15
  from typing import Union, Tuple, Dict
16
16
 
17
17
  from .check_windows_esc import _check_windows_esc
18
- from .SocketMessage import Message
19
- from .instrument import Instrument
20
- from .project_vars import CLIENT_NAME, CLOCK_TIME
21
18
  from .exceptions import (MultiPyVuError,
22
19
  ClientCloseError,
23
20
  ServerCloseError,
24
21
  SocketError
25
22
  )
23
+ from .instrument import Instrument
24
+ from .project_vars import CLIENT_NAME, CLOCK_TIME
25
+ from .SocketMessage import Message
26
26
 
27
27
 
28
28
  class ClientMessage(Message):
@@ -8,23 +8,19 @@ Created on Mon Jun 7 23:47:19 2021
8
8
  @author: D. Jackson
9
9
  """
10
10
 
11
- from sys import platform
11
+ import logging
12
+ import re
13
+ import selectors
14
+ import socket
12
15
  import threading
13
- import traceback
14
16
  import time
15
- import socket
16
- import selectors
17
- import re
17
+ import traceback
18
18
  from enum import IntEnum, auto, IntFlag
19
- import logging
19
+ from sys import platform
20
20
  from typing import Union, Dict, Tuple, List
21
21
 
22
22
  from .check_windows_esc import _check_windows_esc
23
23
  from .Command_factory import create_command_mv
24
- from .SocketMessage import Message
25
- from .instrument import Instrument
26
- from .IEventManager import Publisher as _Publisher
27
- from .IEventManager import IObserver as _IObserver
28
24
  from .exceptions import (MultiPyVuError,
29
25
  ClientCloseError,
30
26
  ServerCloseError,
@@ -32,7 +28,11 @@ from .exceptions import (MultiPyVuError,
32
28
  SocketError,
33
29
  PythoncomImportError,
34
30
  )
31
+ from .IEventManager import Publisher as _Publisher
32
+ from .IEventManager import IObserver as _IObserver
33
+ from .instrument import Instrument
35
34
  from .project_vars import SERVER_NAME, CLOCK_TIME
35
+ from .SocketMessage import Message
36
36
 
37
37
 
38
38
  if platform == 'win32':
@@ -6,19 +6,19 @@ pattern for MultiPyVu.py
6
6
  """
7
7
 
8
8
 
9
+ import re
10
+ import subprocess
9
11
  import os
10
12
  from sys import platform
11
- import subprocess
12
- import re
13
- from typing import List
14
13
  from types import MethodType
14
+ from typing import List
15
15
 
16
- from ..MultiVuServer import Server
16
+ from .IController import IController
17
+ from .ViewFactory import ViewType, ViewFactory
18
+ from ..IEventManager import IObserver
17
19
  from ..instrument import InstrumentList
20
+ from ..MultiVuServer import Server
18
21
  from ..ParseInputs import inputs_from_command_line
19
- from ..IEventManager import IObserver
20
- from .ViewFactory import ViewType, ViewFactory
21
- from .IController import IController
22
22
 
23
23
 
24
24
  class ServerInfo(IObserver):
@@ -5,13 +5,13 @@ View.py holds the code for a gui for MultiPyVu.Server
5
5
  """
6
6
 
7
7
 
8
- import sys
9
8
  import io
10
- from enum import IntEnum, auto
11
- from threading import Lock
12
9
  import logging
13
10
  import logging.handlers
11
+ import sys
14
12
  import tkinter as tk
13
+ from enum import IntEnum, auto
14
+ from threading import Lock
15
15
  from tkinter import font
16
16
  try:
17
17
  from PIL import ImageTk, Image