]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
kresctl: tab-completion: auto-complete for all commands except config
authorFrantisek Tobias <frantisek.tobias@nic.cz>
Fri, 11 Oct 2024 08:36:47 +0000 (10:36 +0200)
committerAleš Mrázek <ales.mrazek@nic.cz>
Fri, 20 Dec 2024 21:24:22 +0000 (22:24 +0100)
python/knot_resolver/client/commands/convert.py
python/knot_resolver/client/commands/metrics.py
python/knot_resolver/client/commands/schema.py
python/knot_resolver/client/commands/validate.py

index 412ed334cc5995ec8290e1f6e254150ec75e04cb..b72af758b8d65a5a653db63c9e74f4148255a366 100644 (file)
@@ -3,7 +3,7 @@ import sys
 from pathlib import Path
 from typing import List, Optional, Tuple, Type
 
-from knot_resolver.client.command import Command, CommandArgs, CompWords, register_command
+from knot_resolver.client.command import Command, CommandArgs, CompWords, get_subparsers_words, register_command
 from knot_resolver.datamodel import KresConfig
 from knot_resolver.datamodel.globals import Context, reset_global_validation_context, set_global_validation_context
 from knot_resolver.utils.modeling import try_to_parse
@@ -52,7 +52,7 @@ class ConvertCommand(Command):
 
     @staticmethod
     def completion(args: List[str], parser: argparse.ArgumentParser) -> CompWords:
-        return {}
+        return get_subparsers_words(parser._actions)  # noqa: SLF001
 
     def run(self, args: CommandArgs) -> None:
         with open(self.input_file, "r") as f:
index 058cad8b29406a4c5399d8934a1f759bce5e9212..85cff2583db3aaecd6273c3e25882ae3fb8e8b52 100644 (file)
@@ -2,7 +2,7 @@ import argparse
 import sys
 from typing import List, Optional, Tuple, Type
 
-from knot_resolver.client.command import Command, CommandArgs, CompWords, register_command
+from knot_resolver.client.command import Command, CommandArgs, CompWords, get_subparsers_words, register_command
 from knot_resolver.utils.modeling.parsing import DataFormat, parse_json
 from knot_resolver.utils.requests import request
 
@@ -44,7 +44,7 @@ class MetricsCommand(Command):
 
     @staticmethod
     def completion(args: List[str], parser: argparse.ArgumentParser) -> CompWords:
-        return {}
+        return get_subparsers_words(parser._actions)  # noqa: SLF001
 
     def run(self, args: CommandArgs) -> None:
         response = request(args.socket, "GET", "metrics/prometheus" if self.prometheus else "metrics/json")
index 0c63f398e976a79d68e64efebf9d1eedb41965dc..fa7465c178f22654c724c65207d631b51045f80c 100644 (file)
@@ -3,7 +3,7 @@ import json
 import sys
 from typing import List, Optional, Tuple, Type
 
-from knot_resolver.client.command import Command, CommandArgs, CompWords, register_command
+from knot_resolver.client.command import Command, CommandArgs, CompWords, get_subparsers_words, register_command
 from knot_resolver.datamodel import kres_config_json_schema
 from knot_resolver.utils.requests import request
 
@@ -35,8 +35,7 @@ class SchemaCommand(Command):
 
     @staticmethod
     def completion(args: List[str], parser: argparse.ArgumentParser) -> CompWords:
-        return {}
-        # return parser_words(parser._actions)  # pylint: disable=W0212
+        return get_subparsers_words(parser._actions)  # noqa: SLF001
 
     def run(self, args: CommandArgs) -> None:
         if self.live:
index f7477748145436b0323a5ea31b097b999d684eea..141a2003047304140047efd91cfb44c21b6366e1 100644 (file)
@@ -3,7 +3,7 @@ import sys
 from pathlib import Path
 from typing import List, Tuple, Type
 
-from knot_resolver.client.command import Command, CommandArgs, CompWords, register_command
+from knot_resolver.client.command import Command, CommandArgs, CompWords, get_subparsers_words, register_command
 from knot_resolver.datamodel import KresConfig
 from knot_resolver.datamodel.globals import Context, reset_global_validation_context, set_global_validation_context
 from knot_resolver.utils.modeling import try_to_parse
@@ -41,7 +41,7 @@ class ValidateCommand(Command):
 
     @staticmethod
     def completion(args: List[str], parser: argparse.ArgumentParser) -> CompWords:
-        return {}
+        return get_subparsers_words(parser._actions)  # noqa: SLF001
 
     def run(self, args: CommandArgs) -> None:
         if self.input_file: