From 96fc3d409a0eb88185bce5035c98aeeb0fb3c2bc Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Thu, 31 Jul 2025 15:17:57 +0200 Subject: [PATCH] vars/list: untangle generators_from_flake and get_generators --- pkgs/clan-cli/clan_cli/tests/test_vars.py | 2 -- pkgs/clan-cli/clan_cli/vars/generate.py | 23 +++++++++++------------ 2 files changed, 11 insertions(+), 14 deletions(-) diff --git a/pkgs/clan-cli/clan_cli/tests/test_vars.py b/pkgs/clan-cli/clan_cli/tests/test_vars.py index 1cee76df4..40bcc473e 100644 --- a/pkgs/clan-cli/clan_cli/tests/test_vars.py +++ b/pkgs/clan-cli/clan_cli/tests/test_vars.py @@ -713,8 +713,6 @@ def test_api_set_prompts( generators = get_generators( machine_name="my_machine", base_dir=flake.path, - full_closure=True, - include_previous_values=True, ) assert len(generators) == 1 assert generators[0].name == "my_generator" diff --git a/pkgs/clan-cli/clan_cli/vars/generate.py b/pkgs/clan-cli/clan_cli/vars/generate.py index e594e582d..38c4a0a91 100644 --- a/pkgs/clan-cli/clan_cli/vars/generate.py +++ b/pkgs/clan-cli/clan_cli/vars/generate.py @@ -63,6 +63,14 @@ class Generator: def generators_from_flake( cls: type["Generator"], machine_name: str, flake: "Flake" ) -> list["Generator"]: + """ + Get all generators for a machine from the flake. + Args: + machine_name (str): The name of the machine. + flake (Flake): The flake to get the generators from. + Returns: + list[Generator]: A list of (unsorted) generators for the machine. + """ # Get all generator metadata in one select (safe fields only) generators_data = flake.select_machine( machine_name, @@ -431,8 +439,6 @@ def get_closure( def get_generators( machine_name: str, base_dir: Path, - full_closure: bool = False, - include_previous_values: bool = False, ) -> list[Generator]: """ Get the list of generators for a machine, optionally with previous values. @@ -442,20 +448,13 @@ def get_generators( Args: machine_name (str): The name of the machine. base_dir (Path): The base directory of the flake. - full_closure (bool): Whether to return the full closure of generators. If False, - it returns only the generators that are missing or need to be regenerated. - include_previous_values (bool): Whether to include previous values for prompts. Returns: list[Generator]: A list of generators for the machine. - """ - from clan_lib.machines.machines import Machine - return get_closure( - machine=Machine(name=machine_name, flake=Flake(str(base_dir))), - generator_name=None, - full_closure=full_closure, - include_previous_values=include_previous_values, + return Generator.generators_from_flake( + machine_name, + Flake(str(base_dir)), )