Compare commits

..

No commits in common. "9c940f8b285d5e69588f0fc72b8c84110a14ccf0" and "2488cc471e95e88aeae5ae95fa04a4d9721e2882" have entirely different histories.

13 changed files with 25 additions and 36 deletions

View file

@ -1,11 +1,3 @@
## 1.2.0a21 (2025-05-02)
### Fix
- support {{ suffix }} name in 1.1 format version
- do not force use_data usage
- validators for an index
## 1.2.0a20 (2025-04-30)
### Fix

View file

@ -4,7 +4,7 @@ requires = ["flit_core >=3.8.0,<4"]
[project]
name = "rougail"
version = "1.2.0a21"
version = "1.2.0a20"
authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
readme = "README.md"
description = "A consistency handling system that was initially designed in the configuration management"

View file

@ -1 +1 @@
__version__ = "1.2.0a21"
__version__ = "1.2.0a20"

View file

@ -421,7 +421,7 @@ secret_manager:
]
if hidden_outputs:
rougail_process += """
disabled:
hidden:
type: jinja
jinja: |
"""
@ -470,7 +470,6 @@ default_params:
mandatory: false
default: {value}
"""
# print(rougail_process)
rougail_options += rougail_process
convert = FakeRougailConvert(add_extra_options)
convert.init()

View file

@ -464,7 +464,7 @@ class ParserVariable:
if obj_type == "dynamic":
family_is_dynamic = True
if "{{ identifier }}" not in name:
if "{{ suffix }}" in name:
if version == "1.0" and "{{ suffix }}" in name:
name = name.replace("{{ suffix }}", "{{ identifier }}")
path = path.replace("{{ suffix }}", "{{ identifier }}")
elif "variable" in family_obj:
@ -841,8 +841,6 @@ class ParserVariable:
parent_dynamic: Optional[str],
version: str,
) -> None:
if "{ suffix" in variable["path"]:
raise Exception()
"""Add a new variable"""
if not isinstance(filename, list):
filename = [filename]

View file

@ -11,6 +11,6 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['validators_rougail.var1'] = "{% if _.var1 != index %}\n value != than index\n{% endif %}"
option_2 = IntOption(name="var1", doc="a second variable", multi=True, default=[0, 1, 2], default_multi=0, validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5validators_multi3/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.var1"), 'index': ParamIndex(), '_.var1': ParamSelfOption(whole=False)}))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5validators_multi3/rougail/00-base.yml'], 'type': 'number', 'test': (0,)})
option_2 = IntOption(name="var1", doc="a second variable", multi=True, default=[0, 1, 2], default_multi=0, validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_rougail.var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5validators_multi3/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("rougail.var1"), 'index': ParamIndex(), '_.var1': ParamSelfOption(whole=False)}))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5validators_multi3/rougail/00-base.yml'], 'type': 'number'})
optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2], properties=frozenset({"standard"}), informations={'ymlfiles': ['']})
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])

View file

@ -7,5 +7,5 @@ ALLOWED_LEADER_PROPERTIES.add("basic")
ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
dict_env['validators_var1'] = "{% if _.var1 != index %}\n value != than index\n{% endif %}"
option_1 = IntOption(name="var1", doc="a second variable", multi=True, default=[0, 1, 2], default_multi=0, validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5validators_multi3/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("var1"), 'index': ParamIndex(), '_.var1': ParamSelfOption(whole=False)}))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5validators_multi3/rougail/00-base.yml'], 'type': 'number', 'test': (0,)})
option_1 = IntOption(name="var1", doc="a second variable", multi=True, default=[0, 1, 2], default_multi=0, validators=[Calculation(func['valid_with_jinja'], Params((), kwargs={'__internal_jinja': ParamValue("validators_var1"), '__internal_type': ParamValue("string"), '__internal_multi': ParamValue(False), '__internal_files': ParamValue(['../rougail-tests/structures/04_5validators_multi3/rougail/00-base.yml']), '__internal_attribute': ParamValue("validators"), '__internal_variable': ParamValue("var1"), 'index': ParamIndex(), '_.var1': ParamSelfOption(whole=False)}))], properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/04_5validators_multi3/rougail/00-base.yml'], 'type': 'number'})
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])

View file

@ -6,19 +6,19 @@
"val2"
]
},
"rougail.val1.val1.var": {
"rougail.{{ suffix }}val1.{{ suffix }}val1.var": {
"owner": "default",
"value": null
},
"rougail.val1.val2.var": {
"rougail.{{ suffix }}val1.{{ suffix }}val2.var": {
"owner": "default",
"value": null
},
"rougail.val2.val1.var": {
"rougail.{{ suffix }}val2.{{ suffix }}val1.var": {
"owner": "default",
"value": null
},
"rougail.val2.val2.var": {
"rougail.{{ suffix }}val2.{{ suffix }}val2.var": {
"owner": "default",
"value": null
}

View file

@ -3,8 +3,8 @@
"val1",
"val2"
],
"rougail.val1.val1.var": null,
"rougail.val1.val2.var": null,
"rougail.val2.val1.var": null,
"rougail.val2.val2.var": null
"rougail.{{ suffix }}val1.{{ suffix }}val1.var": null,
"rougail.{{ suffix }}val1.{{ suffix }}val2.var": null,
"rougail.{{ suffix }}val2.{{ suffix }}val1.var": null,
"rougail.{{ suffix }}val2.{{ suffix }}val2.var": null
}

View file

@ -6,19 +6,19 @@
"val2"
]
},
"rougail.val1.val1.var": {
"rougail.{{ suffix }}val1.{{ suffix }}val1.var": {
"owner": "default",
"value": null
},
"rougail.val1.val2.var": {
"rougail.{{ suffix }}val1.{{ suffix }}val2.var": {
"owner": "default",
"value": null
},
"rougail.val2.val1.var": {
"rougail.{{ suffix }}val2.{{ suffix }}val1.var": {
"owner": "default",
"value": null
},
"rougail.val2.val2.var": {
"rougail.{{ suffix }}val2.{{ suffix }}val2.var": {
"owner": "default",
"value": null
}

View file

@ -1 +1 @@
["rougail.val1.val1.var", "rougail.val1.val2.var", "rougail.val2.val1.var", "rougail.val2.val2.var"]
["rougail.{{ suffix }}val1.{{ suffix }}val1.var", "rougail.{{ suffix }}val1.{{ suffix }}val2.var", "rougail.{{ suffix }}val2.{{ suffix }}val1.var", "rougail.{{ suffix }}val2.{{ suffix }}val2.var"]

View file

@ -3,8 +3,8 @@
"val1",
"val2"
],
"rougail.val1.val1.var": null,
"rougail.val1.val2.var": null,
"rougail.val2.val1.var": null,
"rougail.val2.val2.var": null
"rougail.{{ suffix }}val1.{{ suffix }}val1.var": null,
"rougail.{{ suffix }}val1.{{ suffix }}val2.var": null,
"rougail.{{ suffix }}val2.{{ suffix }}val1.var": null,
"rougail.{{ suffix }}val2.{{ suffix }}val2.var": null
}

View file

@ -12,7 +12,7 @@ ALLOWED_LEADER_PROPERTIES.add("standard")
ALLOWED_LEADER_PROPERTIES.add("advanced")
option_2 = StrOption(name="var", doc="A identifier variable", multi=True, default=["val1", "val2"], default_multi="val1", properties=frozenset({"mandatory", "standard"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml'], 'type': 'string'})
option_5 = StrOption(name="var", doc="A dynamic variable", properties=frozenset({"basic", "mandatory"}), informations={'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml'], 'type': 'string'})
optiondescription_4 = ConvertDynOptionDescription(name="{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[option_5], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[optiondescription_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml']})
optiondescription_4 = ConvertDynOptionDescription(name="{{ suffix }}{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[option_5], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml']})
optiondescription_3 = ConvertDynOptionDescription(name="{{ suffix }}{{ identifier }}", doc="A dynamic family", identifiers=Calculation(func['calc_value'], Params((ParamOption(option_2, notraisepropertyerror=True)), kwargs={'allow_none': ParamValue(True)})), children=[optiondescription_4], properties=frozenset({"basic"}), informations={'dynamic_variable': 'rougail.var', 'ymlfiles': ['../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml']})
optiondescription_1 = OptionDescription(name="rougail", doc="Rougail", group_type=groups.namespace, children=[option_2, optiondescription_3], properties=frozenset({"basic"}), informations={'ymlfiles': ['']})
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[optiondescription_1])