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)