From 9bb6ed313f4a0f88fa4dae0d6ac322978f15e237 Mon Sep 17 00:00:00 2001 From: a-kenji Date: Fri, 24 May 2024 10:56:41 +0200 Subject: [PATCH] `clan machines list`: reduce noise Don't log nix error output by default on `clan machines list`. Log it, if `--debug` is passed. Fixes #1115 --- pkgs/clan-cli/clan_cli/flakes/inspect.py | 2 +- pkgs/clan-cli/clan_cli/machines/list.py | 15 +++++++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/pkgs/clan-cli/clan_cli/flakes/inspect.py b/pkgs/clan-cli/clan_cli/flakes/inspect.py index 8d9f4e2e..6b1bf85b 100644 --- a/pkgs/clan-cli/clan_cli/flakes/inspect.py +++ b/pkgs/clan-cli/clan_cli/flakes/inspect.py @@ -39,7 +39,7 @@ def inspect_flake(flake_url: str | Path, machine_name: str) -> FlakeConfig: system = config["system"] # Check if the machine exists - machines = list_machines(flake_url) + machines = list_machines(False, flake_url) if machine_name not in machines: raise ClanError( f"Machine {machine_name} not found in {flake_url}. Available machines: {', '.join(machines)}" diff --git a/pkgs/clan-cli/clan_cli/machines/list.py b/pkgs/clan-cli/clan_cli/machines/list.py index ad77b78b..37ea60ac 100644 --- a/pkgs/clan-cli/clan_cli/machines/list.py +++ b/pkgs/clan-cli/clan_cli/machines/list.py @@ -5,14 +5,17 @@ from pathlib import Path from clan_cli.api import API -from ..cmd import run +from ..cmd import Log, run from ..nix import nix_config, nix_eval log = logging.getLogger(__name__) @API.register -def list_machines(flake_url: Path | str) -> list[str]: +def list_machines( + debug: bool, + flake_url: Path | str, +) -> list[str]: config = nix_config() system = config["system"] cmd = nix_eval( @@ -23,14 +26,18 @@ def list_machines(flake_url: Path | str) -> list[str]: "--json", ] ) - proc = run(cmd) + + if not debug: + proc = run(cmd, log=Log.NONE) + else: + proc = run(cmd) res = proc.stdout.strip() return json.loads(res) def list_command(args: argparse.Namespace) -> None: - for machine in list_machines(Path(args.flake)): + for machine in list_machines(args.debug, Path(args.flake)): print(machine)