feat: remove mandatory verification

This commit is contained in:
egarette@silique.fr 2026-05-04 11:22:50 +02:00
parent 73682273fe
commit c566fd00d3
1600 changed files with 283 additions and 15415 deletions

View file

@ -84,14 +84,10 @@ class RougailOutputJson:
return ret
def exporter(self) -> None:
self.is_mandatory = self.rougailconfig["json.mandatory"]
self.dico = {}
if self.is_mandatory and self.config.isoptiondescription():
ori_properties = self.true_config.property.exportation()
self.true_config.property.read_write()
self.mandatory()
self.true_config.property.importation(ori_properties)
self.manage_warnings()
if not self.manage_errors():
return False
if not self.config.isoptiondescription():
self.dico = self.config.value.get()
return True
@ -102,38 +98,6 @@ class RougailOutputJson:
)
return self.manage_errors()
def mandatory(self):
title = False
options_with_error = []
try:
mandatories = self.config.value.mandatory()
except (ConfigError, PropertiesOptionError) as err:
self.errors.append(_("Error in config: {0}").format(err))
return
except ValueError as err:
self.errors.append(str(err))
return
for option in mandatories:
try:
option.value.get()
if not title:
self.errors.append(
_("The following variables are mandatory but have no value:")
)
title = True
self.errors.append(f" - {option.description()}")
except PropertiesOptionError:
options_with_error.append(option)
if not title:
for idx, option in enumerate(options_with_error):
if not idx:
self.errors.append(
_(
"The following variables are inaccessible but are empty and mandatory :"
)
)
self.errors.append(f" - {option.description()}")
def manage_warnings(self) -> None:
if not self.warnings:
return
@ -156,8 +120,8 @@ class RougailOutputJson:
errors.append(_('{0}: {1}').format(opt.path, msg))
else:
errors.append(e)
self.dico = {"_errors": errors}
self.manage_warnings()
self.dico["_errors"] = errors
#self.manage_warnings()
return False
def parse_family(

View file

@ -24,31 +24,9 @@ def get_rougail_config(
*,
backward_compatibility=True,
) -> dict:
options = f"""
json:
description: {_('Export configuration to JSON format')}
help: |-
{_('Exporting the configuration in JSON format makes it easier to process the configuration in an external tool, for example.')}
disabled:
jinja: |-
{{{{ step.output is propertyerror or step.output != 'json' }}}}
return_type: boolean
description: {_('if json is not set in "step.output"')}
mandatory:
description: {_('test mandatories variables before display in JSON')}
help: |-
{_("The configuration must be valid before exporting the data to JSON format. It's better to validate the values at the beginning of the process.")}
type: boolean
default:
jinja: |-
{{{{ cli.read_write is not defined or not cli.read_write }}}}
description: {_('true if "cli.read_write" is false')}
"""
return {
"name": "json",
"process": "output",
"options": options,
"level": 50,
}

View file

@ -0,0 +1,3 @@
{
"var1": true
}

View file

@ -3,11 +3,12 @@
"val1",
"val2"
],
"var2": "val1",
"dynval1": {
"var": "string1"
},
"dynval2": {
"var": "string1"
},
"newvar": "string1"
"var3": "string1"
}

View file

@ -0,0 +1,26 @@
{
"var1": [
"val1",
"val2"
],
"var2": "val1",
"dynval1": {
"var": [
"string1",
"string2",
"string3"
]
},
"dynval2": {
"var": [
"string1",
"string2",
"string3"
]
},
"var3": [
"string1",
"string2",
"string3"
]
}

View file

@ -0,0 +1,42 @@
{
"var": [
"val1",
"val2"
],
"dynval1": {
"dynval1": {
"var1": "string1",
"var2": [
"string1",
"string2",
"string3"
]
},
"dynval2": {
"var1": "string1",
"var2": [
"string1",
"string2",
"string3"
]
}
},
"dynval2": {
"dynval1": {
"var1": "string1",
"var2": [
"string1",
"string2",
"string3"
]
},
"dynval2": {
"var1": "string1",
"var2": [
"string1",
"string2",
"string3"
]
}
}
}

View file

@ -1,3 +0,0 @@
{
"version": "string1"
}

View file

@ -1,3 +0,0 @@
{
"empty": "string1"
}

View file

@ -1,8 +0,0 @@
{
"var1": "string1",
"var2": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,12 +0,0 @@
{
"var1": [
"string1",
"string2",
"string3"
],
"var2": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,9 +0,0 @@
{
"leadership": [
{
"var1": "a_value",
"var2": "a_value"
}
],
"var2": "string1"
}

View file

@ -1,10 +0,0 @@
{
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "string1"
}

View file

@ -1,5 +0,0 @@
{
"var1": "string1",
"var2": "string1",
"var3": "string1"
}

View file

@ -1,10 +0,0 @@
{
"var1": [
"domain1.lan",
"domain2.lan"
],
"var2": [
"domain1.lan",
"domain2.lan"
]
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "string1"
}

View file

@ -1,3 +0,0 @@
{
"without_type": "string1"
}

View file

@ -1,8 +0,0 @@
{
"var1": true,
"var2": true,
"var3": true,
"var4": true,
"var5": true,
"var6": true
}

View file

@ -1,3 +0,0 @@
{
"variable": true
}

View file

@ -1,8 +0,0 @@
{
"var1": "a",
"var2": "a",
"var3": "a",
"var4": null,
"var5": "a",
"var6": 1
}

View file

@ -1,3 +0,0 @@
{
"var": 0
}

View file

@ -1,4 +0,0 @@
{
"var1": "a",
"var2": "a"
}

View file

@ -1,8 +0,0 @@
{
"var1": [
"string1",
"string2",
"string3"
],
"var2": "string1"
}

View file

@ -1,9 +0,0 @@
{
"var1": [
"string1",
"string2",
"string3"
],
"var2": "string1",
"var3": "string1"
}

View file

@ -1,11 +0,0 @@
{
"var1": [
"string1",
"string2",
"string3"
],
"var2": "string1",
"family": {
"var3": "string1"
}
}

View file

@ -1,4 +0,0 @@
{
"custom1": "string1",
"custom2": "string1"
}

View file

@ -1,3 +0,0 @@
{
"variable": "domain1.lan"
}

View file

@ -1,3 +0,0 @@
{
"variable": "domain1.lan"
}

View file

@ -1,8 +0,0 @@
{
"var1": 1.1,
"var2": 1.1,
"var3": 1.1,
"var4": 1.1,
"var5": 1.1,
"var6": 1.1
}

View file

@ -1,8 +0,0 @@
{
"var1": 1,
"var2": 1,
"var3": 1,
"var4": 1,
"var5": 1,
"var6": 1
}

View file

@ -1,5 +0,0 @@
{
"var1": "192.168.1.6",
"var2": "192.168.1.6/24",
"var3": "192.168.1.6/24"
}

View file

@ -1,5 +0,0 @@
{
"var1": "192.168.1.0",
"var2": "192.168.1.6/32",
"var3": "192.168.1.6/32"
}

View file

@ -1,8 +0,0 @@
{
"var1": 1,
"var2": 1,
"var3": 1,
"var4": 1,
"var5": 1,
"var6": 1
}

View file

@ -1,5 +0,0 @@
{
"variable1": "80",
"variable2": "80",
"variable3": "80"
}

View file

@ -1,3 +0,0 @@
{
"var": "#b1b1b1"
}

View file

@ -1,4 +0,0 @@
{
"var1": "#b1b1b1",
"var2": "#b2b1b1"
}

View file

@ -1,4 +0,0 @@
{
"secret1": "onE7vaLues_len1",
"secret2": "onE7vaLues_len1"
}

View file

@ -1,5 +0,0 @@
{
"secret1": "onE7vaLues_len1",
"secret2": "onE7vaLues",
"secret3": "onE7vaLues"
}

View file

@ -1,10 +0,0 @@
{
"var1": "string1",
"var2": "string1",
"var3": "string1",
"var4": "string1",
"var5": "string1",
"var6": "string1",
"var7": "string1",
"var8": "string1"
}

View file

@ -1,3 +0,0 @@
{
"var": "quote'"
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "string1"
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "string1"
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "string1"
}

View file

@ -1,3 +0,0 @@
{
"variable": "string1"
}

View file

@ -1,3 +0,0 @@
{
"variable": "string1"
}

View file

@ -1,3 +0,0 @@
{
"variable": "string1"
}

View file

@ -1,3 +0,0 @@
{
"variable": "string1"
}

View file

@ -1,3 +0,0 @@
{
"variable": "string1"
}

View file

@ -1,11 +0,0 @@
{
"var1": "test",
"var2": "test",
"var3": "test1",
"var4": null,
"var5": false,
"var6": [
"test1",
"test2"
]
}

View file

@ -1,10 +0,0 @@
{
"variable1": [
"val1",
"val2"
],
"variable2": [
"val1",
"val2"
]
}

View file

@ -1,5 +0,0 @@
{
"source_variable_1": "string1",
"source_variable_2": "string1",
"my_variable": "string1"
}

View file

@ -1,3 +0,0 @@
{
"variable": "string1"
}

View file

@ -1,3 +0,0 @@
{
"var": "string1"
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "string1"
}

View file

@ -1,8 +0,0 @@
{
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,8 +0,0 @@
{
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,8 +0,0 @@
{
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,7 +0,0 @@
{
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,12 +0,0 @@
{
"my_variable": [
"string1",
"string2",
"string3"
],
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "string1"
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "string1"
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "string1"
}

View file

@ -1,3 +0,0 @@
{
"var": 0
}

View file

@ -1,3 +0,0 @@
{
"var": 0
}

View file

@ -1,26 +0,0 @@
{
"var1": [
true
],
"var2": [
true
],
"var3": [
true
],
"var4": [
true
],
"var5": [
true
],
"var6": [
true
],
"var7": [
true
],
"var8": [
true
]
}

View file

@ -1,12 +0,0 @@
{
"custom1": [
"string1",
"string2",
"string3"
],
"custom2": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,42 +0,0 @@
{
"var1": [
1.1,
2.2,
3.3
],
"var2": [
1.1,
2.2,
3.3
],
"var3": [
1.1,
2.2,
3.3
],
"var4": [
1.1,
2.2,
3.3
],
"var5": [
1.1,
2.2,
3.3
],
"var6": [
1.1,
2.2,
3.3
],
"var7": [
1.1,
2.2,
3.3
],
"var8": [
1.1,
2.2,
3.3
]
}

View file

@ -1,42 +0,0 @@
{
"var1": [
1,
2,
3
],
"var2": [
1,
2,
3
],
"var3": [
1,
2,
3
],
"var4": [
1,
2,
3
],
"var5": [
1,
2,
3
],
"var6": [
1,
2,
3
],
"var7": [
1,
2,
3
],
"var8": [
1,
2,
3
]
}

View file

@ -1,7 +0,0 @@
{
"var": [
1,
2,
3
]
}

View file

@ -1,7 +0,0 @@
{
"var1": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,42 +0,0 @@
{
"var1": [
"string1",
"string2",
"string3"
],
"var2": [
"string1",
"string2",
"string3"
],
"var3": [
"string1",
"string2",
"string3"
],
"var4": [
"string1",
"string2",
"string3"
],
"var5": [
"string1",
"string2",
"string3"
],
"var6": [
"string1",
"string2",
"string3"
],
"var7": [
"string1",
"string2",
"string3"
],
"var8": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,12 +0,0 @@
{
"var1": [
"string1",
"string2",
"string3"
],
"var2": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,7 +0,0 @@
{
"variable": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,7 +0,0 @@
{
"variable": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,7 +0,0 @@
{
"variable": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,7 +0,0 @@
{
"variable": [
"string1",
"string2",
"string3"
]
}

View file

@ -1,8 +0,0 @@
{
"variable1": [
"string1",
"string2",
"string3"
],
"variable2": "string1"
}

View file

@ -1,3 +0,0 @@
{
"variable": "a"
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "string1"
}

View file

@ -1,3 +0,0 @@
{
"int": 1
}

View file

@ -1,3 +0,0 @@
{
"int": 1
}

View file

@ -1,3 +0,0 @@
{
"variable": "no"
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "no"
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "yes"
}

View file

@ -1,3 +0,0 @@
{
"var": "yes"
}

View file

@ -1,5 +0,0 @@
{
"var1": "string1",
"var2": "string1",
"var3": "string1"
}

View file

@ -1,5 +0,0 @@
{
"var1": "string1",
"var2": "string1",
"var3": "string1"
}

View file

@ -1,4 +0,0 @@
{
"var1": "value",
"var3": "string1"
}

View file

@ -1,5 +0,0 @@
{
"var1": "value",
"var2": "string1",
"var3": "string1"
}

View file

@ -1,5 +0,0 @@
{
"var1": "string1",
"var2": "string1",
"var3": "string1"
}

View file

@ -1,4 +0,0 @@
{
"var1": "string1",
"var2": "string1"
}

View file

@ -1,4 +0,0 @@
{
"condition": "string1",
"variable1": "string1"
}

View file

@ -1,5 +0,0 @@
{
"condition": "string1",
"var1": null,
"var2": "string1"
}

View file

@ -1,7 +0,0 @@
{
"condition": true,
"var1": "string1",
"var2": null,
"var3": null,
"var4": null
}

Some files were not shown because too many files have changed in this diff Show more