11import win32com .client
22import numpy as np
33import pythoncom
4+ from typing import Any
45
56class OpenServer :
67 def __init__ (self ):
78 self .status = "Disconnected"
8- self .server = None
9+ self .server : Any = None
910
1011 def __enter__ (self ):
1112 """
@@ -35,7 +36,7 @@ def connect(self, com='PX32.OpenServer.1'):
3536 try :
3637 self .server = win32com .client .Dispatch (com )
3738 self .status = "Connected"
38- return print ("OpenServer is connected" )
39+ print ("OpenServer is connected" )
3940 except pythoncom .com_error :
4041 raise ConnectionError ("Unable to establish a connection" ) from None
4142
@@ -45,7 +46,7 @@ def disconnect(self):
4546 """
4647 self .server = None
4748 self .status = "Disconnected"
48- return print ("OpenServer has been disconnected" )
49+ print ("OpenServer has been disconnected" )
4950
5051 def DoCmd (self , Cmd ):
5152 """
@@ -125,9 +126,12 @@ def DoGet(self, Gv):
125126 value = int (value )
126127 elif '|' in value : # Checking if | in string is returned
127128 if any (x in Gv for x in (',' , '[$]' , '@' , ':' )):
128- num_array = np .fromstring (value [0 :- 1 ], sep = "|" , dtype = float )
129129 str_array = np .array (value [0 :- 1 ].split ('|' ))
130- if num_array .size == str_array .size :
130+ try :
131+ num_array = str_array .astype (float )
132+ except ValueError :
133+ num_array = np .array ([])
134+ if num_array .size == str_array .size :
131135 value = num_array # Return numeric array
132136 else :
133137 value = str_array # Return an array of strings
0 commit comments