]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
manager: kresctl: move main function from __main__
authorAleš Mrázek <ales.mrazek@nic.cz>
Mon, 7 Nov 2022 21:45:47 +0000 (22:45 +0100)
committerAleš Mrázek <ales.mrazek@nic.cz>
Tue, 10 Jan 2023 18:57:14 +0000 (19:57 +0100)
manager/knot_resolver_manager/cli/__main__.py
manager/knot_resolver_manager/cli/main.py [new file with mode: 0644]
manager/pyproject.toml
manager/setup.py

index 5daf4663001efac7b10248af7d8e312501f9d566..88a83a67521719c7333fb2b83fda10f0db402997 100644 (file)
@@ -1,54 +1,4 @@
-import argparse
-import importlib
-import os
-
-from knot_resolver_manager.cli.command import install_commands_parsers
-from knot_resolver_manager.cli.kresctl import Kresctl
-
-
-def autoimport_commands() -> None:
-    prefix = "knot_resolver_manager.cli.cmd."
-    for module_name in os.listdir(os.path.dirname(__file__) + "/cmd"):
-        if module_name[-3:] != ".py":
-            continue
-        importlib.import_module(f"{prefix}{module_name[:-3]}")
-
-
-def create_main_argument_parser() -> argparse.ArgumentParser:
-    parser = argparse.ArgumentParser("kresctl", description="Command-line interface for controlling Knot Resolver")
-    parser.add_argument(
-        "-i",
-        "--interactive",
-        action="store_true",
-        help="Interactive mode of kresctl utility",
-        default=False,
-        required=False,
-    )
-    parser.add_argument(
-        "-s",
-        "--socket",
-        action="store",
-        type=str,
-        help="Path to the Unix domain socket of the configuration API",
-        default=["http+unix://%2Fvar%2Frun%2Fknot-resolver%2Fmanager.sock"],  # FIXME
-        nargs=1,
-        required=False,
-    )
-    return parser
-
-
-def main() -> None:
-    autoimport_commands()
-    parser = create_main_argument_parser()
-    install_commands_parsers(parser)
-    namespace, unknown_args = parser.parse_known_args()
-    kresctl = Kresctl(namespace, unknown_args, parser)
-
-    if namespace.interactive or len(vars(namespace)) == 2:
-        kresctl.interactive()
-    else:
-        kresctl.execute()
-
+from knot_resolver_manager.cli.main import main
 
 if __name__ == "__main__":
     main()
diff --git a/manager/knot_resolver_manager/cli/main.py b/manager/knot_resolver_manager/cli/main.py
new file mode 100644 (file)
index 0000000..5b51856
--- /dev/null
@@ -0,0 +1,50 @@
+import argparse
+import importlib
+import os
+
+from knot_resolver_manager.cli.command import install_commands_parsers
+from knot_resolver_manager.cli.kresctl import Kresctl
+
+
+def autoimport_commands() -> None:
+    prefix = "knot_resolver_manager.cli.cmd."
+    for module_name in os.listdir(os.path.dirname(__file__) + "/cmd"):
+        if module_name[-3:] != ".py":
+            continue
+        importlib.import_module(f"{prefix}{module_name[:-3]}")
+
+
+def create_main_argument_parser() -> argparse.ArgumentParser:
+    parser = argparse.ArgumentParser("kresctl", description="Command-line interface for controlling Knot Resolver")
+    parser.add_argument(
+        "-i",
+        "--interactive",
+        action="store_true",
+        help="Interactive mode of kresctl utility",
+        default=False,
+        required=False,
+    )
+    parser.add_argument(
+        "-s",
+        "--socket",
+        action="store",
+        type=str,
+        help="Path to the Unix domain socket of the configuration API",
+        default=["http+unix://%2Fvar%2Frun%2Fknot-resolver%2Fmanager.sock"],  # FIXME
+        nargs=1,
+        required=False,
+    )
+    return parser
+
+
+def main() -> None:
+    autoimport_commands()
+    parser = create_main_argument_parser()
+    install_commands_parsers(parser)
+    namespace, unknown_args = parser.parse_known_args()
+    kresctl = Kresctl(namespace, unknown_args, parser)
+
+    if namespace.interactive or len(vars(namespace)) == 2:
+        kresctl.interactive()
+    else:
+        kresctl.execute()
index 0ddf341cb6bb65e804ce1900b0a61232ce26ed64..0f61011dc7a9cfa782114a8178e767249342839b 100644 (file)
@@ -42,7 +42,7 @@ types-dataclasses = "^0.6.4"
 poetry = "^1.1.12"
 
 [tool.poetry.scripts]
-kresctl = 'knot_resolver_manager.cli:main'
+kresctl = 'knot_resolver_manager.cli.main:main'
 
 [tool.poe.tasks]
 run = { cmd = "scripts/run", help = "Run the manager" }
@@ -54,7 +54,7 @@ format = { shell = "black knot_resolver_manager/ tests/ scripts/ build.py; isort
 fixdeps = { shell = "poetry install; npm install; npm update", help = "Install/update dependencies according to configuration files"}
 commit = { shell = "scripts/commit", help = "Invoke every single check before commiting" }
 container = { cmd = "scripts/container.py", help = "Manage containers" }
-kresctl = { script = "knot_resolver_manager.cli:main", help="run kresctl" }
+kresctl = { script = "knot_resolver_manager.cli.main:main", help="run kresctl" }
 clean = """
   rm -rf .coverage
          .mypy_cache
index 28e8704330e1888171a8e32525eb34efc5a7979a..88fce46cd44e72d9303f535b41f57d73c2d272ca 100644 (file)
@@ -27,7 +27,7 @@ install_requires = \
  'typing-extensions']
 
 entry_points = \
-{'console_scripts': ['kresctl = knot_resolver_manager.cli:main']}
+{'console_scripts': ['kresctl = knot_resolver_manager.cli.main:main']}
 
 setup_kwargs = {
     'name': 'knot-resolver-manager',