diff --git a/soti/umsats_soti/parser/parser.py b/soti/umsats_soti/parser/parser.py index 18d8f57..30b709e 100644 --- a/soti/umsats_soti/parser/parser.py +++ b/soti/umsats_soti/parser/parser.py @@ -95,11 +95,13 @@ def parse_send(args: str, default_sender: NodeID) -> Message: """ parts = args.split() + if(len(parts) == 0): + raise ValueError("No arguments provided") try: cmd_id = CmdID(parse_int(parts[0])) except ValueError as e: raise ArgumentException(f"Invalid command ID '{parts[0]}'") from e - + # Assign default values for the command options. priority: int = 255 sender_id: NodeID = default_sender diff --git a/soti/umsats_soti/screens/main_screen.py b/soti/umsats_soti/screens/main_screen.py index 99f7bc2..e78a2d0 100644 --- a/soti/umsats_soti/screens/main_screen.py +++ b/soti/umsats_soti/screens/main_screen.py @@ -112,8 +112,10 @@ def _on_command_entered(self, text: str): msg = parser.parse_send(args, self.sender_id) self.device.write(msg) except (ValueError, parser.ArgumentException) as e: - self.console.print(str(e)) + self.console.print("Error: " + str(e)) return + case _: + self.console.print(f"Unknown command: {parts[0]}") def _on_message_received(self, msg: Message): """Called when a new message arrives."""