fix: better layers support

This commit is contained in:
egarette@silique.fr 2025-11-07 13:05:28 +01:00
parent 82df953c70
commit e56815f684
3 changed files with 19 additions and 12 deletions

View file

@ -160,7 +160,7 @@ def manage_warnings(warnings):
def load_user_datas(rougailconfig):
layer_datas = {}
if not rougailconfig["cli.load_config"]:
return None, {"errors": [], "warnings": []}
return None, None, None, {"errors": [], "warnings": []}
try:
user_data_names = rougailconfig["step.user_data"]
except PropertiesOptionError:
@ -195,7 +195,8 @@ def load_user_datas(rougailconfig):
layer_name = None
# data user
user_datas = []
layer_datas[layer_name] = {}
if has_layers:
layer_datas[layer_name] = {}
for user_data_name in layer:
path = (
Path(__file__).parent.parent
@ -217,7 +218,8 @@ def load_user_datas(rougailconfig):
subconfig,
rougailconfig=rougailconfig,
).run():
layer_datas[layer_name].setdefault(user_data_name, []).append(user_data["source"])
if has_layers:
layer_datas[layer_name].setdefault(user_data_name, []).append(user_data["source"])
user_datas.append(user_data)
if user_datas:
new_err_warn = UserDatas(subconfig).user_datas(user_datas, invalid_user_datas_error=invalid_user_datas_error, unknown_user_datas_error=unknown_user_datas_error)
@ -226,14 +228,15 @@ def load_user_datas(rougailconfig):
err_warn[level].extend(datas)
for layer_name, interactive_user_data in interactive_user_datas.items():
for layer, rougail_user_datas in interactive_user_data.items():
if has_layers and len(layers) > 1:
subconfig = subconfig.config("_".join(layer))
subconfig.owner.set(subconfig.path())
for user_data in rougail_user_datas(
subconfig,
rougailconfig=rougailconfig,
).run():
layer_datas[layer_name].setdefault(user_data_name, []).append(user_data["source"])
if has_layers:
if len(layers) > 1:
subconfig = subconfig.config("_".join(layer))
subconfig.owner.set(subconfig.path())
for user_data in rougail_user_datas(
subconfig,
rougailconfig=rougailconfig,
).run():
layer_datas[layer_name].setdefault(user_data_name, []).append(user_data["source"])
return layer_datas, metaconfig, subconfig, err_warn

View file

@ -2,6 +2,10 @@
│ Variable Modified value │
│ (⏳ Original default value) │
╰──────────────────────────────────────╯
╭─────────── Layers ────────────╮
│ environment variable │
│ the YAML file "yaml/file.yml" │
╰───────────────────────────────╯
Variables:
┗━━ 📓 a description: a yaml value ◀ loaded from the YAML file "yaml/file.yml"
 (⏳ my env value ◀ loaded from environment variable ⏳ my env value)

View file

@ -1 +1 @@
["tiramisu", "tiramisu-cmdline-parser", "rougail", "rougail-cli", "rougail-structural-bitwarden", "rougail-user-data-ansible", "rougail-user-data-bitwarden", "rougail-user-data-commandline", "rougail-user-data-environment", "rougail-user-data-yaml", "rougail-output-ansible", "rougail-output-console", "rougail-output-doc", "rougail-output-json"]
["tiramisu", "tiramisu-cmdline-parser", "rougail", "rougail-cli", "rougail-structural-bitwarden", "rougail-user-data-ansible", "rougail-user-data-bitwarden", "rougail-user-data-commandline", "rougail-user-data-environment", "rougail-user-data-questionary", "rougail-user-data-yaml", "rougail-output-ansible", "rougail-output-console", "rougail-output-doc", "rougail-output-json"]