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 <jan@janware.com>
This commit is contained in:
Jan Lindemann 2024-07-11 20:38:07 +02:00
commit 4e53e37c7c

View file

@ -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):