Merge pull request 'Clan_lib: add filtering by tag to list API' (#4197) from cli-fixup into main

Reviewed-on: https://git.clan.lol/clan/clan-core/pulls/4197
This commit is contained in:
hsjobeki
2025-07-04 11:53:43 +00:00
8 changed files with 69 additions and 30 deletions

View File

@@ -2,7 +2,7 @@ import argparse
import logging
from clan_lib.flake import Flake
from clan_lib.machines.list import list_full_machines, query_machines_by_tags
from clan_lib.machines.actions import list_machines
from clan_cli.completions import add_dynamic_completer, complete_tags
@@ -12,12 +12,8 @@ log = logging.getLogger(__name__)
def list_command(args: argparse.Namespace) -> None:
flake: Flake = args.flake
if args.tags:
for name in query_machines_by_tags(flake, args.tags):
print(name)
else:
for name in list_full_machines(flake):
print(name)
for name in list_machines(flake, opts={"filter": {"tags": args.tags}}):
print(name)
def register_list_parser(parser: argparse.ArgumentParser) -> None:

View File

@@ -4,6 +4,7 @@ import sys
from clan_lib.async_run import AsyncContext, AsyncOpts, AsyncRuntime
from clan_lib.errors import ClanError
from clan_lib.machines.list import list_full_machines, query_machines_by_tags
from clan_lib.machines.machines import Machine
from clan_lib.machines.suggestions import validate_machine_names
from clan_lib.machines.update import deploy_machine
@@ -15,7 +16,6 @@ from clan_cli.completions import (
complete_machines,
complete_tags,
)
from clan_cli.machines.list import list_full_machines, query_machines_by_tags
log = logging.getLogger(__name__)