From 4e53e37c7c768d13141ca39b183610c3a2b8ed99 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Thu, 11 Jul 2024 20:38:07 +0200 Subject: [PATCH] Cmds.py: Emit usage message by default Running an application derived from Cmds throws an error if invoked without arguments, fix that. Signed-off-by: Jan Lindemann --- tools/python/jwutils/Cmds.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tools/python/jwutils/Cmds.py b/tools/python/jwutils/Cmds.py index 8d461b8..87ad359 100644 --- a/tools/python/jwutils/Cmds.py +++ b/tools/python/jwutils/Cmds.py @@ -92,6 +92,19 @@ class Cmds: # export args = self.__parser.parse_args() set_flags(args.log_flags) set_level(args.log_level) + + # This is the toplevel parser, i.e. no func member has been added to the args via + # + # Cmds.__init__() + # Cmds.__add_cmd_to_parser(cmd, subparsers) + # CmdXXX.add_parser(parsers) + # super().add_parser(parsers) + # Cmd.__parser.set_defaults(func=self.run) + # + if not hasattr(args, 'func'): + self.__parser.print_help() + return None + return await args.func(args) def __del__(self):