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"