From d63b8c3d721ba4ec81e6c0e3bbcd2c05d1c4a4f1 Mon Sep 17 00:00:00 2001 From: JarbasAi Date: Mon, 16 Oct 2023 19:26:37 +0100 Subject: [PATCH 1/4] ensure bus connection on cli utils --- ovos_bus_client/scripts.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/ovos_bus_client/scripts.py b/ovos_bus_client/scripts.py index 78ad421..5bf3700 100644 --- a/ovos_bus_client/scripts.py +++ b/ovos_bus_client/scripts.py @@ -19,6 +19,8 @@ def ovos_speak(): raise SystemExit(2) client = MessageBusClient() client.run_in_thread() + if not client.connected_event.is_set(): + client.connected_event.wait() client.emit(Message("speak", {"utterance": utt, "lang": lang})) client.close() @@ -36,6 +38,8 @@ def ovos_say_to(): raise SystemExit(2) client = MessageBusClient() client.run_in_thread() + if not client.connected_event.is_set(): + client.connected_event.wait() client.emit(Message("recognizer_loop:utterance", {"utterances": [utt], "lang": lang})) client.close() @@ -43,5 +47,35 @@ def ovos_say_to(): def ovos_listen(): client = MessageBusClient() client.run_in_thread() + if not client.connected_event.is_set(): + client.connected_event.wait() client.emit(Message("mycroft.mic.listen")) client.close() + + +def simple_cli(lang=None): + client = MessageBusClient() + client.run_in_thread() + if not client.connected_event.is_set(): + client.connected_event.wait() + lang = lang or Configuration().get("lang", "en-us") + + from ovos_bus_client.session import SessionManager, Session + sess = SessionManager.default_session + + while True: + try: + utt = input("Say:") + if utt == ":exit": + break + client.emit(Message("recognizer_loop:utterance", + {"utterances": [utt], "lang": lang}, + {"session": sess.serialize()})) + except KeyboardInterrupt: + break + + client.close() + + +if __name__ == "__main__": + simple_cli() \ No newline at end of file From 70d3a6016ee2181c48b23667c8ab4f1482f8ceae Mon Sep 17 00:00:00 2001 From: JarbasAi Date: Mon, 16 Oct 2023 19:28:29 +0100 Subject: [PATCH 2/4] add simple_cli entrypoint --- setup.py | 1 + 1 file changed, 1 insertion(+) diff --git a/setup.py b/setup.py index 80a3209..4005343 100644 --- a/setup.py +++ b/setup.py @@ -74,6 +74,7 @@ def get_version(): 'ovos-listen=ovos_bus_client.scripts:ovos_listen', 'ovos-speak=ovos_bus_client.scripts:ovos_speak', 'ovos-say-to=ovos_bus_client.scripts:ovos_say_to', + 'ovos-simple-cli=ovos_bus_client.scripts:simple_cli' ] } ) From cab300c0f39b231b0f5fba9a0677a27550992b80 Mon Sep 17 00:00:00 2001 From: JarbasAi Date: Mon, 16 Oct 2023 19:31:46 +0100 Subject: [PATCH 3/4] lang arg for simple_cli --- ovos_bus_client/scripts.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/ovos_bus_client/scripts.py b/ovos_bus_client/scripts.py index 5bf3700..9a2dfe6 100644 --- a/ovos_bus_client/scripts.py +++ b/ovos_bus_client/scripts.py @@ -53,7 +53,16 @@ def ovos_listen(): client.close() -def simple_cli(lang=None): +def simple_cli(): + args_count = len(sys.argv) + if args_count == 1: + lang = sys.argv[1] + elif args_count > 1: + print("USAGE: ovos-simple-cli [lang]") + return + else: + lang = Configuration().get("lang", "en-us") + client = MessageBusClient() client.run_in_thread() if not client.connected_event.is_set(): From 3d3efcbf234b3275fe1a7774547505b6590171bd Mon Sep 17 00:00:00 2001 From: JarbasAi Date: Mon, 16 Oct 2023 19:36:09 +0100 Subject: [PATCH 4/4] lang arg for simple_cli --- ovos_bus_client/scripts.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ovos_bus_client/scripts.py b/ovos_bus_client/scripts.py index 9a2dfe6..997d489 100644 --- a/ovos_bus_client/scripts.py +++ b/ovos_bus_client/scripts.py @@ -56,12 +56,12 @@ def ovos_listen(): def simple_cli(): args_count = len(sys.argv) if args_count == 1: + lang = Configuration().get("lang", "en-us") + elif args_count == 2: lang = sys.argv[1] - elif args_count > 1: + else: print("USAGE: ovos-simple-cli [lang]") return - else: - lang = Configuration().get("lang", "en-us") client = MessageBusClient() client.run_in_thread()