From 5f7b95ac7335587d60dd9c984a7fe2dbb48e0df7 Mon Sep 17 00:00:00 2001 From: Qubasa Date: Thu, 8 May 2025 12:30:16 +0200 Subject: [PATCH] clan-cli: remove useless run_no_stdout function --- pkgs/clan-cli/clan_cli/cmd.py | 20 -------------------- pkgs/clan-cli/clan_cli/inventory/__init__.py | 6 +++--- pkgs/clan-cli/clan_cli/machines/machines.py | 4 ++-- pkgs/clan-cli/clan_cli/state/list.py | 4 ++-- pkgs/clan-cli/clan_cli/tags.py | 4 ++-- pkgs/clan-cli/clan_cli/tests/test_modules.py | 4 ++-- pkgs/clan-cli/clan_lib/api/directory.py | 11 ++++++----- pkgs/clan-cli/clan_lib/api/mdns_discovery.py | 4 ++-- 8 files changed, 19 insertions(+), 38 deletions(-) diff --git a/pkgs/clan-cli/clan_cli/cmd.py b/pkgs/clan-cli/clan_cli/cmd.py index fb5db7b5e..e64392008 100644 --- a/pkgs/clan-cli/clan_cli/cmd.py +++ b/pkgs/clan-cli/clan_cli/cmd.py @@ -403,23 +403,3 @@ def run( raise ClanCmdError(cmd_out) return cmd_out - - -def run_no_stdout( - cmd: list[str], - opts: RunOpts | None = None, -) -> CmdOut: - """ - Like run, but automatically suppresses all output, if not in DEBUG log level. - If in DEBUG log level the stdout of commands will be shown. - """ - if opts is None: - opts = RunOpts() - - if cmdlog.isEnabledFor(logging.DEBUG): - opts.log = opts.log if opts.log.value > Log.STDERR.value else Log.STDERR - - return run( - cmd, - opts, - ) diff --git a/pkgs/clan-cli/clan_cli/inventory/__init__.py b/pkgs/clan-cli/clan_cli/inventory/__init__.py index d5a1a6135..5389f28f0 100644 --- a/pkgs/clan-cli/clan_cli/inventory/__init__.py +++ b/pkgs/clan-cli/clan_cli/inventory/__init__.py @@ -21,7 +21,7 @@ from typing import Any from clan_lib.api import API, dataclass_to_dict, from_dict -from clan_cli.cmd import run_no_stdout +from clan_cli.cmd import run from clan_cli.errors import ClanCmdError, ClanError from clan_cli.flake import Flake from clan_cli.git import commit_file @@ -80,7 +80,7 @@ def load_inventory_eval(flake_dir: Flake) -> Inventory: ] ) - proc = run_no_stdout(cmd) + proc = run(cmd) try: res = proc.stdout.strip() @@ -380,7 +380,7 @@ def get_inventory_current_priority(flake: Flake) -> dict: ] ) - proc = run_no_stdout(cmd) + proc = run(cmd) try: res = proc.stdout.strip() diff --git a/pkgs/clan-cli/clan_cli/machines/machines.py b/pkgs/clan-cli/clan_cli/machines/machines.py index 7dd9ca7f0..83f23347c 100644 --- a/pkgs/clan-cli/clan_cli/machines/machines.py +++ b/pkgs/clan-cli/clan_cli/machines/machines.py @@ -9,7 +9,7 @@ from functools import cached_property from pathlib import Path from typing import TYPE_CHECKING, Any -from clan_cli.cmd import Log, RunOpts, run_no_stdout +from clan_cli.cmd import Log, RunOpts, run from clan_cli.errors import ClanCmdError, ClanError from clan_cli.facts import public_modules as facts_public_modules from clan_cli.facts import secret_modules as facts_secret_modules @@ -188,7 +188,7 @@ class Machine: # however there is a soon to be merged PR that requires deployment # as root to match NixOS: https://github.com/nix-darwin/nix-darwin/pull/1341 return json.loads( - run_no_stdout( + run( nix_eval( [ f"{self.flake}#darwinConfigurations.{self.name}.options.system", diff --git a/pkgs/clan-cli/clan_cli/state/list.py b/pkgs/clan-cli/clan_cli/state/list.py index 5827affd0..4a6835d1b 100644 --- a/pkgs/clan-cli/clan_cli/state/list.py +++ b/pkgs/clan-cli/clan_cli/state/list.py @@ -3,7 +3,7 @@ import json import logging from pathlib import Path -from clan_cli.cmd import RunOpts, run_no_stdout +from clan_cli.cmd import RunOpts, run from clan_cli.completions import ( add_dynamic_completer, complete_machines, @@ -32,7 +32,7 @@ def list_state_folders(machine: Machine, service: None | str = None) -> None: res = "{}" try: - proc = run_no_stdout(cmd, opts=RunOpts(prefix=machine.name)) + proc = run(cmd, RunOpts(prefix=machine.name)) res = proc.stdout.strip() except ClanCmdError as e: msg = "Clan might not have meta attributes" diff --git a/pkgs/clan-cli/clan_cli/tags.py b/pkgs/clan-cli/clan_cli/tags.py index 4f84a792e..1f65dfcd6 100644 --- a/pkgs/clan-cli/clan_cli/tags.py +++ b/pkgs/clan-cli/clan_cli/tags.py @@ -2,7 +2,7 @@ import json from pathlib import Path from typing import Any -from clan_cli.cmd import run_no_stdout +from clan_cli.cmd import run from clan_cli.errors import ClanError from clan_cli.nix import nix_eval @@ -18,7 +18,7 @@ def list_tagged_machines(flake_url: str | Path) -> dict[str, Any]: "--json", ] ) - proc = run_no_stdout(cmd) + proc = run(cmd) try: res = proc.stdout.strip() diff --git a/pkgs/clan-cli/clan_cli/tests/test_modules.py b/pkgs/clan-cli/clan_cli/tests/test_modules.py index b29261d04..9b8418124 100644 --- a/pkgs/clan-cli/clan_cli/tests/test_modules.py +++ b/pkgs/clan-cli/clan_cli/tests/test_modules.py @@ -11,7 +11,7 @@ from clan_cli.inventory import ( set_inventory, ) from clan_cli.machines.create import CreateOptions, create_machine -from clan_cli.nix import nix_eval, run_no_stdout +from clan_cli.nix import nix_eval, run from clan_cli.tests.fixtures_flakes import FlakeForTest from clan_lib.api.modules import list_modules @@ -120,7 +120,7 @@ def test_add_module_to_inventory( "--json", ] ) - proc = run_no_stdout(cmd) + proc = run(cmd) res = json.loads(proc.stdout.strip()) assert res["machine1"]["authorizedKeys"] == [ssh_key.decode()] diff --git a/pkgs/clan-cli/clan_lib/api/directory.py b/pkgs/clan-cli/clan_lib/api/directory.py index 907705686..1e7cc38ac 100644 --- a/pkgs/clan-cli/clan_lib/api/directory.py +++ b/pkgs/clan-cli/clan_lib/api/directory.py @@ -4,9 +4,10 @@ from dataclasses import dataclass, field from pathlib import Path from typing import Any, Literal -from clan_cli.cmd import RunOpts +from clan_cli.cmd import RunOpts, run from clan_cli.errors import ClanError -from clan_cli.nix import nix_shell, run_no_stdout +from clan_cli.flake import Flake +from clan_cli.nix import nix_shell from . import API @@ -52,8 +53,8 @@ class Directory: @API.register -def get_directory(current_path: str) -> Directory: - curr_dir = Path(current_path) +def get_directory(flake: Flake) -> Directory: + curr_dir = flake.path directory = Directory(path=str(curr_dir)) if not curr_dir.is_dir(): @@ -135,7 +136,7 @@ def show_block_devices() -> Blockdevices: "PATH,NAME,RM,SIZE,RO,MOUNTPOINTS,TYPE,ID-LINK", ], ) - proc = run_no_stdout(cmd, RunOpts(needs_user_terminal=True)) + proc = run(cmd, RunOpts(needs_user_terminal=True)) res = proc.stdout.strip() blk_info: dict[str, Any] = json.loads(res) diff --git a/pkgs/clan-cli/clan_lib/api/mdns_discovery.py b/pkgs/clan-cli/clan_lib/api/mdns_discovery.py index 8dea84f75..043b18522 100644 --- a/pkgs/clan-cli/clan_lib/api/mdns_discovery.py +++ b/pkgs/clan-cli/clan_lib/api/mdns_discovery.py @@ -2,7 +2,7 @@ import argparse import re from dataclasses import dataclass -from clan_cli.cmd import run_no_stdout +from clan_cli.cmd import run from clan_cli.nix import nix_shell from . import API @@ -100,7 +100,7 @@ def show_mdns() -> DNSInfo: "--terminate", ], ) - proc = run_no_stdout(cmd) + proc = run(cmd) data = parse_avahi_output(proc.stdout) return data