From 8c750516112101c190b027d49e42b001622829d7 Mon Sep 17 00:00:00 2001 From: Johannes Kirschbauer Date: Tue, 21 Jan 2025 10:47:51 +0100 Subject: [PATCH] Facts/api: export method for getting the public store --- pkgs/clan-cli/clan_cli/facts/list.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/clan-cli/clan_cli/facts/list.py b/pkgs/clan-cli/clan_cli/facts/list.py index 6b7ac1e96..aeb8e3e5b 100644 --- a/pkgs/clan-cli/clan_cli/facts/list.py +++ b/pkgs/clan-cli/clan_cli/facts/list.py @@ -2,6 +2,7 @@ import argparse import importlib import json import logging +from typing import Any from clan_cli.completions import add_dynamic_completer, complete_machines from clan_cli.machines.machines import Machine @@ -11,8 +12,7 @@ log = logging.getLogger(__name__) # TODO get also secret facts def get_all_facts(machine: Machine) -> dict: - public_facts_module = importlib.import_module(machine.public_facts_module) - public_facts_store = public_facts_module.FactStore(machine=machine) + public_facts_store = get_public_facts_store(machine) # for service in machine.secrets_data: # facts[service] = {} @@ -25,6 +25,12 @@ def get_all_facts(machine: Machine) -> dict: return public_facts_store.get_all() +def get_public_facts_store(machine: Machine) -> Any: + public_facts_module = importlib.import_module(machine.public_facts_module) + public_facts_store = public_facts_module.FactStore(machine=machine) + return public_facts_store + + def get_command(args: argparse.Namespace) -> None: machine = Machine(name=args.machine, flake=args.flake)