From 30abb227c74356626e7b1f24542de33e224b47f3 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Fri, 1 May 2026 10:17:38 +0200 Subject: [PATCH] lib.Cmd.print_help(): Add method Add Cmd.print_help(). By default, it prints a help message. If passed an integer exit_status, it also calls sys.exit(exit_status). Signed-off-by: Jan Lindemann --- src/python/jw/pkg/cmds/Cmd.py | 4 +--- src/python/jw/pkg/lib/Cmd.py | 5 +++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/python/jw/pkg/cmds/Cmd.py b/src/python/jw/pkg/cmds/Cmd.py index 8614bebf..30afddb0 100644 --- a/src/python/jw/pkg/cmds/Cmd.py +++ b/src/python/jw/pkg/cmds/Cmd.py @@ -13,10 +13,8 @@ class Cmd(Base): # export super().__init__(parent, name, help) async def _run(self, args): - import sys # Missing subcommand - self.parser.print_help() - sys.exit(1) + self.print_help(1) @property def distro(self) -> Distro: diff --git a/src/python/jw/pkg/lib/Cmd.py b/src/python/jw/pkg/lib/Cmd.py index 65ff78bf..68a6ff73 100644 --- a/src/python/jw/pkg/lib/Cmd.py +++ b/src/python/jw/pkg/lib/Cmd.py @@ -80,6 +80,11 @@ class Cmd(abc.ABC): # export def child_classes(self) -> list[type[Cmd]]: return tuple(self.__child_classes) + def print_help(self, exit_status: int|None=None) -> None: + self.parser.print_help() + if exit_status is not None: + sys.exit(exit_status) + async def run(self, args): return await self._run(args)