vars: make interface more type-safe

This commit is contained in:
Jörg Thalheim
2024-11-20 19:03:35 +01:00
parent cd2ea0d735
commit c9e80f38ca
17 changed files with 656 additions and 521 deletions

View File

@@ -6,8 +6,9 @@ from clan_cli.clan_uri import FlakeId
from clan_cli.completions import add_dynamic_completer, complete_machines
from clan_cli.machines.machines import Machine
from clan_cli.vars.get import get_var
from clan_cli.vars.prompt import PromptType
from ._types import Var
from .generate import Var
from .prompt import ask
log = logging.getLogger(__name__)
@@ -31,7 +32,7 @@ def set_via_stdin(machine: str, var_id: str, flake: FlakeId) -> None:
_machine = Machine(name=machine, flake=flake)
var = get_var(_machine, var_id)
if sys.stdin.isatty():
new_value = ask(var.id, "hidden").encode("utf-8")
new_value = ask(var.id, PromptType.HIDDEN).encode("utf-8")
else:
new_value = sys.stdin.buffer.read()
set_var(_machine, var, new_value, flake)