vars/decrypt_dependencies: simplify
This commit is contained in:
committed by
DavHau
parent
d453720a57
commit
ab3158ca07
@@ -8,7 +8,7 @@ from dataclasses import dataclass, field
|
|||||||
from functools import cached_property
|
from functools import cached_property
|
||||||
from pathlib import Path
|
from pathlib import Path
|
||||||
from tempfile import TemporaryDirectory
|
from tempfile import TemporaryDirectory
|
||||||
from typing import TYPE_CHECKING, Any
|
from typing import TYPE_CHECKING
|
||||||
|
|
||||||
from clan_cli.completions import (
|
from clan_cli.completions import (
|
||||||
add_dynamic_completer,
|
add_dynamic_completer,
|
||||||
@@ -213,27 +213,29 @@ def decrypt_dependencies(
|
|||||||
secret_vars_store: StoreBase,
|
secret_vars_store: StoreBase,
|
||||||
public_vars_store: StoreBase,
|
public_vars_store: StoreBase,
|
||||||
) -> dict[str, dict[str, bytes]]:
|
) -> dict[str, dict[str, bytes]]:
|
||||||
decrypted_dependencies: dict[str, Any] = {}
|
generators = Generator.generators_from_flake(machine.name, machine.flake)
|
||||||
|
|
||||||
|
result: dict[str, dict[str, bytes]] = {}
|
||||||
|
|
||||||
for generator_name in set(generator.dependencies):
|
for generator_name in set(generator.dependencies):
|
||||||
decrypted_dependencies[generator_name] = {}
|
result[generator_name] = {}
|
||||||
generators = Generator.generators_from_flake(machine.name, machine.flake)
|
|
||||||
for dep_generator in generators:
|
dep_generator = next(g for g in generators if g.name == generator_name)
|
||||||
if generator_name == dep_generator.name:
|
if dep_generator is None:
|
||||||
break
|
msg = f"Generator {generator_name} not found in machine {machine.name}"
|
||||||
else:
|
|
||||||
msg = f"Could not find dependent generator {generator_name} in machine {machine.name}"
|
|
||||||
raise ClanError(msg)
|
raise ClanError(msg)
|
||||||
|
|
||||||
dep_files = dep_generator.files
|
dep_files = dep_generator.files
|
||||||
for file in dep_files:
|
for file in dep_files:
|
||||||
if file.secret:
|
if file.secret:
|
||||||
decrypted_dependencies[generator_name][file.name] = (
|
result[generator_name][file.name] = secret_vars_store.get(
|
||||||
secret_vars_store.get(dep_generator, file.name)
|
dep_generator, file.name
|
||||||
)
|
)
|
||||||
else:
|
else:
|
||||||
decrypted_dependencies[generator_name][file.name] = (
|
result[generator_name][file.name] = public_vars_store.get(
|
||||||
public_vars_store.get(dep_generator, file.name)
|
dep_generator, file.name
|
||||||
)
|
)
|
||||||
return decrypted_dependencies
|
return result
|
||||||
|
|
||||||
|
|
||||||
# decrypt dependencies and return temporary file tree
|
# decrypt dependencies and return temporary file tree
|
||||||
|
|||||||
Reference in New Issue
Block a user