From d0621f5c575b89213cc93657026fb0662e8cb0d6 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Tue, 2 Jun 2026 10:08:49 +0200 Subject: [PATCH] cmds.xxx .CmdXxx._run(): Add print_help() All commands that do load_subcommands() should have a default _run() implementation which calls print_help(), add them. Signed-off-by: Jan Lindemann --- src/python/jw/pkg/cmds/CmdPkg.py | 7 +++++++ src/python/jw/pkg/cmds/CmdPlatform.py | 7 +++++++ src/python/jw/pkg/cmds/CmdPosix.py | 7 +++++++ src/python/jw/pkg/cmds/CmdProjects.py | 10 +++++----- src/python/jw/pkg/cmds/CmdSecrets.py | 7 +++++++ src/python/jw/pkg/cmds/posix/CmdTar.py | 12 ++++++++---- src/python/jw/pkg/cmds/projects/CmdCheck.py | 9 +++++---- 7 files changed, 46 insertions(+), 13 deletions(-) diff --git a/src/python/jw/pkg/cmds/CmdPkg.py b/src/python/jw/pkg/cmds/CmdPkg.py index 8de1e7cb..170a5e6d 100644 --- a/src/python/jw/pkg/cmds/CmdPkg.py +++ b/src/python/jw/pkg/cmds/CmdPkg.py @@ -13,5 +13,12 @@ class CmdPkg(Cmd): # export super().__init__(parent, 'pkg', help = 'System package manager wrapper') self.load_subcommands() + async def _run(self, args): + import sys + + # Missing subcommand + self.parser.print_help() + sys.exit(1) + def add_arguments(self, parser: ArgumentParser) -> None: super().add_arguments(parser) diff --git a/src/python/jw/pkg/cmds/CmdPlatform.py b/src/python/jw/pkg/cmds/CmdPlatform.py index ecb5035d..00ae0dec 100644 --- a/src/python/jw/pkg/cmds/CmdPlatform.py +++ b/src/python/jw/pkg/cmds/CmdPlatform.py @@ -15,5 +15,12 @@ class CmdPlatform(Cmd): # export ) self.load_subcommands() + async def _run(self, args): + import sys + + # Missing subcommand + self.parser.print_help() + sys.exit(1) + def add_arguments(self, parser: ArgumentParser) -> None: super().add_arguments(parser) diff --git a/src/python/jw/pkg/cmds/CmdPosix.py b/src/python/jw/pkg/cmds/CmdPosix.py index 84e5f5b7..72bcece6 100644 --- a/src/python/jw/pkg/cmds/CmdPosix.py +++ b/src/python/jw/pkg/cmds/CmdPosix.py @@ -20,5 +20,12 @@ class CmdPosix(Cmd): # export ) self.load_subcommands() + async def _run(self, args): + import sys + + # Missing subcommand + self.parser.print_help() + sys.exit(1) + def add_arguments(self, parser: ArgumentParser) -> None: super().add_arguments(parser) diff --git a/src/python/jw/pkg/cmds/CmdProjects.py b/src/python/jw/pkg/cmds/CmdProjects.py index 3cc62c23..99d47815 100644 --- a/src/python/jw/pkg/cmds/CmdProjects.py +++ b/src/python/jw/pkg/cmds/CmdProjects.py @@ -1,7 +1,5 @@ from __future__ import annotations -import sys - from typing import TYPE_CHECKING from .Cmd import Cmd, Parent @@ -19,10 +17,12 @@ class CmdProjects(Cmd): # export ) self.load_subcommands() - def add_arguments(self, parser: ArgumentParser) -> None: - super().add_arguments(parser) - async def _run(self, args): + import sys + # Missing subcommand self.parser.print_help() sys.exit(1) + + def add_arguments(self, parser: ArgumentParser) -> None: + super().add_arguments(parser) diff --git a/src/python/jw/pkg/cmds/CmdSecrets.py b/src/python/jw/pkg/cmds/CmdSecrets.py index 14176ed6..cd5eaec9 100644 --- a/src/python/jw/pkg/cmds/CmdSecrets.py +++ b/src/python/jw/pkg/cmds/CmdSecrets.py @@ -13,5 +13,12 @@ class CmdSecrets(Cmd): # export super().__init__(parent, 'secrets', help = 'Manage package secrets') self.load_subcommands() + async def _run(self, args): + import sys + + # Missing subcommand + self.parser.print_help() + sys.exit(1) + def add_arguments(self, parser: ArgumentParser) -> None: super().add_arguments(parser) diff --git a/src/python/jw/pkg/cmds/posix/CmdTar.py b/src/python/jw/pkg/cmds/posix/CmdTar.py index 05a6adbe..0db6d835 100644 --- a/src/python/jw/pkg/cmds/posix/CmdTar.py +++ b/src/python/jw/pkg/cmds/posix/CmdTar.py @@ -5,7 +5,7 @@ from typing import TYPE_CHECKING from .Cmd import Cmd, Parent if TYPE_CHECKING: - from argparse import ArgumentParser, Namespace + from argparse import ArgumentParser class CmdTar(Cmd): # export @@ -13,8 +13,12 @@ class CmdTar(Cmd): # export super().__init__(parent, 'tar', help = 'Handle tar archives') self.load_subcommands() + async def _run(self, args): + import sys + + # Missing subcommand + self.parser.print_help() + sys.exit(1) + def add_arguments(self, parser: ArgumentParser) -> None: super().add_arguments(parser) - - async def _run(self, args: Namespace) -> None: - return await super()._run(args) diff --git a/src/python/jw/pkg/cmds/projects/CmdCheck.py b/src/python/jw/pkg/cmds/projects/CmdCheck.py index 4512d52e..e33f3ac9 100644 --- a/src/python/jw/pkg/cmds/projects/CmdCheck.py +++ b/src/python/jw/pkg/cmds/projects/CmdCheck.py @@ -1,5 +1,4 @@ from __future__ import annotations -import sys from .Cmd import Cmd, Parent from typing import TYPE_CHECKING @@ -17,10 +16,12 @@ class CmdCheck(Cmd): # export ) self.load_subcommands() - def add_arguments(self, parser: ArgumentParser) -> None: - super().add_arguments(parser) - async def _run(self, args): + import sys + # Missing subcommand self.parser.print_help() sys.exit(1) + + def add_arguments(self, parser: ArgumentParser) -> None: + super().add_arguments(parser)