20 from websocket
import create_connection
25 Main function, will run if executed from command line. 27 Sends parameters from commandline. 29 Param 1: message string 30 Param 2: data (json string) 33 if len(sys.argv) == 2:
34 messageToSend = sys.argv[1]
36 elif len(sys.argv) == 3:
37 messageToSend = sys.argv[1]
39 dataToSend = json.loads(sys.argv[2])
41 print(
"Second argument must be a JSON string")
42 print(
"Ex: python -m mycroft.messagebus.send speak " 43 "'{\"utterance\" : \"hello\"}'")
46 print(
"Command line interface to the mycroft-core messagebus.")
47 print(
"Usage: python -m mycroft.messagebus.send message")
48 print(
" python -m mycroft.messagebus.send message JSON-string\n")
49 print(
"Examples: python -m mycroft.messagebus.send system.wifi.setup")
50 print(
"Ex: python -m mycroft.messagebus.send speak " 51 "'{\"utterance\" : \"hello\"}'")
54 send(messageToSend, dataToSend)
57 def send(messageToSend, dataToSend=None):
59 Send a single message over the websocket. 62 messageToSend (str): Message to send 63 dataToSend (dict): data structure to go along with the 64 message, defaults to empty dict. 66 dataToSend = dataToSend
or {}
69 config = ConfigurationManager.get().
get(
"websocket")
70 url = WebsocketClient.build_url(config.get(
"host"),
76 ws = create_connection(url)
77 packet =
Message(messageToSend, dataToSend).serialize()
82 if __name__ ==
'__main__':
86 print(
'Could not connect to websocket, no message sent')
def send(messageToSend, dataToSend=None)
def get(phrase, lang=None, context=None)