scorpionsocket module¶
| filename: | scorpionsocket.py |
|---|---|
| author: | thor@tordivel.no / roar@tordivel.no |
| requirements: | Scorpion 11.0 |
| copyright: | 2000-2015 Tordivel AS |
| license: | Tordivel AS’ Scorpion Python Module License |
General socket object handling standard Scorpion TdvCmd messages.
The ScorpionSocket is used for Socket Communication in Scorpion Vision Software. It provides a connection less send method and server object
Derived classes should override the execute method for profile specific protocols.
23nov2015, RL: 1.0.0.14
std autodoc header
29apr2015, RL: 1.0.0.13
added version property
changed verbose level for some close methods
23apr2015, RL: 1.0.0.12
kill timer in close
SOCK_BUFFER_SIZE=1024
21apr2015, RL: 1.0.0.11
new object inheritance model
15apr2015, RL: 1.0.0.10
TdvCmd.cmd in origin case
15apr2015, RL: 1.0.0.9
added execute method
changed verbose level on some messages
13apr2015, RL: 1.0.0.8
handles any TdvCmd in trigger
verbose as int, 0=None,1=info,3=detailed
12apr2015, RL: 1.0.0.7
added internal poll timer
fixed missing import socket
10apr2015, RL: 1.0.0.6
fixed printDebug in trigger_response
22mar2015, TV: 1.0.0.5
add client method pair
open_send_request
recv_response_close
add server method
trigger_response
11feb2015, TV: 1.0.0.4
fully working beta sample
-
class
scorpionsocket.TdvCmd(msg)¶ TdvCmd - splits a text message into TdvCmd command and parameters
TdvCmd format: “cmd;key=value;key=value;...;key=value”
>>>cmd=TdvCmd(data)-
version¶ return class version
-
cmd¶ origin TdvCmd command
-
CMD¶ TdvCmd command in UPPERCASE
-
params¶ origin TdvCmd params as string - key=value;key=value;...;key=value
-
values¶ params as dictionary where keys are in UPPERCASE
-
iscmd(cmd)¶ case insensitive check for command
-
has_value(key)¶ return bool whether TdvCmd contains a given key - case insensitive
ex: if cmd.has_value(‘Ready’): ...do some stuff
-
has_values(keys)¶ return bool whether TdvCmd contains all given keys in list/tuple - case insensitive
ex: if cmd.has_values([‘Ready’,’Status’]): ...do some stuff
-
-
class
scorpionsocket.ScorpionSocket(ip, port, pollrate=0.25, timeout=0.2, verbose=1)¶ Bases:
objectThe SocketObject is used for Socket Communication in Scorpion Vision Software It provides a connection less send method and server object
Central Start Sample:
>>>socket = ScorpionSocket("localhost",port=8705,pollrate=0.25,timeout=0.01,verbose=1)-
__del__()¶ kill Scorpion timer and close
-
version¶ return class version
-
close()¶ close server socket
-
printDebug(level, msg)¶ prints a debug message when verbose is less equal level
-
onTimer(sender, args)¶ internal timer callback - handles any TdvCmd
-
send(str0, host, port=8700, timeout=0.3)¶ provides sending an ascii string to a tcp/ip socket server
-
open_send_request(str0, host, port=8700, timeout=0.3)¶ open send a request to a server - read response using recv_response_close
-
recv_response_close()¶ recv response and close - send keep - return empty string if no response is read
-
trigger_response(response)¶ send response
-
resetCounter()¶ resets the disconnect counter
-
execute(msg)¶ execute msg as TdvCmd and call Scorpion ExecuteCmd
-