From 0bf3f42812da728eff27dfbfa96c6d30309bad7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= Date: Fri, 21 Jul 2023 11:38:05 +0200 Subject: [PATCH] clan-cli: restructure according to python's module standard --- pkgs/clan-cli/{clan.py => clan_cli/__init__.py} | 10 ++++++---- pkgs/clan-cli/{clan_admin.py => clan_cli/admin.py} | 2 +- pkgs/clan-cli/pyproject.toml | 5 +---- 3 files changed, 8 insertions(+), 9 deletions(-) rename pkgs/clan-cli/{clan.py => clan_cli/__init__.py} (81%) rename pkgs/clan-cli/{clan_admin.py => clan_cli/admin.py} (98%) diff --git a/pkgs/clan-cli/clan.py b/pkgs/clan-cli/clan_cli/__init__.py similarity index 81% rename from pkgs/clan-cli/clan.py rename to pkgs/clan-cli/clan_cli/__init__.py index 45261fb..ab44842 100755 --- a/pkgs/clan-cli/clan.py +++ b/pkgs/clan-cli/clan_cli/__init__.py @@ -8,19 +8,21 @@ try: except ImportError: has_argcomplete = False -import clan_admin +from . import admin # this will be the entrypoint under /bin/clan (see pyproject.toml config) -def clan() -> None: +def main() -> None: parser = argparse.ArgumentParser(description="cLAN tool") subparsers = parser.add_subparsers() - # init clan admin parser_admin = subparsers.add_parser("admin") - clan_admin.make_parser(parser_admin) + admin.register_parser(parser_admin) if has_argcomplete: argcomplete.autocomplete(parser) parser.parse_args() if len(sys.argv) == 1: parser.print_help() + +if __name__ == "__main__": + main() diff --git a/pkgs/clan-cli/clan_admin.py b/pkgs/clan-cli/clan_cli/admin.py similarity index 98% rename from pkgs/clan-cli/clan_admin.py rename to pkgs/clan-cli/clan_cli/admin.py index b7f8638..8cd75c5 100755 --- a/pkgs/clan-cli/clan_admin.py +++ b/pkgs/clan-cli/clan_cli/admin.py @@ -70,7 +70,7 @@ def git(args: argparse.Namespace) -> None: # pragma: no cover ) # takes a (sub)parser and configures it -def make_parser(parser: argparse.ArgumentParser) -> None: +def register_parser(parser: argparse.ArgumentParser) -> None: parser.add_argument( "-f", "--folder", diff --git a/pkgs/clan-cli/pyproject.toml b/pkgs/clan-cli/pyproject.toml index 33d3eb4..f763cdc 100644 --- a/pkgs/clan-cli/pyproject.toml +++ b/pkgs/clan-cli/pyproject.toml @@ -2,14 +2,11 @@ requires = ["setuptools"] build-backend = "setuptools.build_meta" -[tool.setuptools.packages.find] -include = ["clan.py"] - [project] name = "clan" description = "cLAN CLI tool" dynamic = ["version"] -scripts = {clan = "clan:clan"} +scripts = {clan = "clan_cli:main"} [tool.pytest.ini_options] addopts = "--cov . --cov-report term --cov-fail-under=100 --no-cov-on-fail"