vars: improve API of generate_vars_for_machine

receive list of generator names as an argument instead of generator objects
This commit is contained in:
DavHau
2025-05-05 15:54:37 +07:00
parent 96f14fb861
commit 23d19f1a52

View File

@@ -353,19 +353,20 @@ def _generate_vars_for_machine(
@API.register @API.register
def generate_vars_for_machine( def generate_vars_for_machine(
machine_name: str, machine_name: str,
generators: list[Generator], generators: list[str],
all_prompt_values: dict[str, dict[str, str]], all_prompt_values: dict[str, dict[str, str]],
base_dir: Path, base_dir: Path,
no_sandbox: bool = False, no_sandbox: bool = False,
) -> bool: ) -> bool:
from clan_cli.machines.machines import Machine from clan_cli.machines.machines import Machine
machine = Machine(name=machine_name, flake=Flake(str(base_dir)))
generators_set = set(generators)
generators_ = [g for g in machine.vars_generators if g.name in generators_set]
return _generate_vars_for_machine( return _generate_vars_for_machine(
machine=Machine( machine=machine,
name=machine_name, generators=generators_,
flake=Flake(str(base_dir)),
),
generators=generators,
all_prompt_values=all_prompt_values, all_prompt_values=all_prompt_values,
no_sandbox=no_sandbox, no_sandbox=no_sandbox,
) )