From: Aleš Mrázek Date: Thu, 9 Feb 2023 17:19:06 +0000 (+0100) Subject: manager: client: HelpCommand as default command X-Git-Tag: v6.0.0a1~5^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2a96c8a3d855b2fe90c4ac79a4457d271e478804;p=thirdparty%2Fknot-resolver.git manager: client: HelpCommand as default command --- diff --git a/manager/knot_resolver_manager/cli/command.py b/manager/knot_resolver_manager/cli/command.py index 625ad39d5..4c44b3200 100644 --- a/manager/knot_resolver_manager/cli/command.py +++ b/manager/knot_resolver_manager/cli/command.py @@ -16,6 +16,13 @@ def register_command(cls: T) -> T: return cls +def get_help_command() -> Type["Command"]: + for command in _registered_commands: + if command.__name__ == "HelpCommand": + return command + raise ValueError("missing HelpCommand") + + def install_commands_parsers(parser: argparse.ArgumentParser) -> None: subparsers = parser.add_subparsers(help="command type") for command in _registered_commands: @@ -30,6 +37,8 @@ class CommandArgs: self.socket = f'http+unix://{quote(self.socket, safe="")}/' if self.socket.endswith("/"): self.socket = self.socket[:-1] + if not hasattr(namespace, "command"): + setattr(namespace, "command", get_help_command()) self.command: Type["Command"] = namespace.command self.parser = parser