diff --git a/pkgs/clan-cli/clan_cli/__init__.py b/pkgs/clan-cli/clan_cli/__init__.py index c3b6d02a..79e3db80 100644 --- a/pkgs/clan-cli/clan_cli/__init__.py +++ b/pkgs/clan-cli/clan_cli/__init__.py @@ -8,9 +8,8 @@ from typing import Any from . import config, flakes, machines, secrets, vms, webui from .custom_logger import setup_logging -from .dirs import get_clan_flake_toplevel +from .dirs import get_clan_flake_toplevel, is_clan_flake from .ssh import cli as ssh_cli -from .dirs import is_clan_flake log = logging.getLogger(__name__) @@ -57,14 +56,20 @@ def create_parser(prog: str | None = None) -> argparse.ArgumentParser: default=[], ) - def flake_path(arg:str) -> Path: + def flake_path(arg: str) -> Path: flake_dir = Path(arg).resolve() if not flake_dir.exists(): - raise argparse.ArgumentTypeError(f"flake directory {flake_dir} does not exist") + raise argparse.ArgumentTypeError( + f"flake directory {flake_dir} does not exist" + ) if not flake_dir.is_dir(): - raise argparse.ArgumentTypeError(f"flake directory {flake_dir} is not a directory") + raise argparse.ArgumentTypeError( + f"flake directory {flake_dir} is not a directory" + ) if not is_clan_flake(flake_dir): - raise argparse.ArgumentTypeError(f"flake directory {flake_dir} is not a clan flake") + raise argparse.ArgumentTypeError( + f"flake directory {flake_dir} is not a clan flake" + ) return flake_dir parser.add_argument( diff --git a/pkgs/clan-cli/clan_cli/dirs.py b/pkgs/clan-cli/clan_cli/dirs.py index 5ae37683..fdf6fe6c 100644 --- a/pkgs/clan-cli/clan_cli/dirs.py +++ b/pkgs/clan-cli/clan_cli/dirs.py @@ -9,6 +9,7 @@ log = logging.getLogger(__name__) def get_clan_flake_toplevel() -> Path | None: return find_toplevel([".clan-flake", ".git", ".hg", ".svn", "flake.nix"]) + def is_clan_flake(path: Path) -> bool: return (path / ".clan-flake").exists()