Compare commits

..

No commits in common. "eff4b41307ad2d8404acaf7bcaaed3e1697c3c63" and "88039773643ccb71fd739b36f0a5d4ef7d1b0612" have entirely different histories.

140 changed files with 23 additions and 941 deletions

View file

@ -1,11 +1,3 @@
## 0.2.0a10 (2025-09-29)
### Feat
- remove json.read_write option
- default value for a calculated variable with an unknown optional variable
- update tests for integer type
## 0.2.0a9 (2025-09-22)
### Fix

View file

@ -4,7 +4,7 @@ requires = ["flit_core >=3.8.0,<4"]
[project]
name = "rougail.output_json"
version = "0.2.0a10"
version = "0.2.0a9"
authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
readme = "README.md"
description = "Rougail output json"

View file

@ -57,6 +57,7 @@ class RougailOutputJson:
self.warnings = user_data_warnings
else:
self.warnings = []
self.read_write = self.rougailconfig["json.read_write"]
self.is_mandatory = self.rougailconfig["json.mandatory"]
self.get = self.rougailconfig["json.get"]
self.dico = {}
@ -75,14 +76,14 @@ class RougailOutputJson:
return ret
def exporter(self) -> None:
if self.is_mandatory:
ori_properties = self.config.property.exportation()
self.config.property.read_write()
self.mandatory()
self.config.property.importation(ori_properties)
self.config.property.read_write()
self.mandatory()
self.config.property.read_only()
if self.manage_errors():
return False
self.manage_warnings()
if self.read_write:
self.config.property.read_write()
if self.get:
config = self.config.option(self.get)
if not config.isoptiondescription():
@ -97,6 +98,8 @@ class RougailOutputJson:
return True
def mandatory(self):
if not self.is_mandatory:
return
title = False
options_with_error = []
try:
@ -111,6 +114,7 @@ class RougailOutputJson:
try:
option.value.get()
if not title:
# self.errors.append("Les variables suivantes sont obligatoires mais n'ont pas de valeur :")
self.errors.append(
_("The following variables are mandatory but have no value:")
)
@ -121,6 +125,7 @@ class RougailOutputJson:
if not title:
for idx, option in enumerate(options_with_error):
if not idx:
# self.errors.append("Les variables suivantes sont inaccessibles mais sont vides et obligatoires :")
self.errors.append(
_(
"The following variables are inaccessible but are empty and mandatory :"

View file

@ -1 +1 @@
__version__ = "0.2.0a10"
__version__ = "0.2.0a9"

View file

@ -28,21 +28,19 @@ def get_rougail_config(
json:
description: {_('configuration rougail-json')}
disabled:
type: jinja
jinja: |
{{% if step.output is propertyerror or step.output != 'json' %}}
disabled
{{% endif %}}
read_write:
description: {_('display variables available in read_write mode')}
default: false
mandatory:
description: {_('test mandatories variables before display in json')}
type: boolean
default:
jinja: |-
{{% if cli.read_write is defined and cli.read_write %}}
false
{{% else %}}
true
{{% endif %}}
default: true
get:
description: {_('get value for a variable or a family')}

View file

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

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 @@
{
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}

View file

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

View file

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

View file

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

View file

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

View file

@ -1,16 +0,0 @@
{
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}

View file

@ -1,16 +0,0 @@
{
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}

View file

@ -1,8 +0,0 @@
{
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}

View file

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

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 @@
{
"my_variable": "string1",
"my_calculated_variable": [
"string1",
"string2",
"string3"
]
}

View file

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

View file

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

View file

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

View file

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

View file

@ -1,16 +0,0 @@
{
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}

View file

@ -1,16 +0,0 @@
{
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}

View file

@ -1,8 +0,0 @@
{
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,5 +0,0 @@
{
"rougail": {
"var": 0
}
}

View file

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

View file

@ -1,5 +0,0 @@
{
"rougail": {
"int": 1
}
}

View file

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

View file

@ -1,18 +0,0 @@
{
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
}

View file

@ -1,10 +0,0 @@
{
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,5 +0,0 @@
{
"rougail": {
"var": 0
}
}

View file

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

View file

@ -1,5 +0,0 @@
{
"rougail": {
"int": 1
}
}

View file

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

View file

@ -1,18 +0,0 @@
{
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
}

View file

@ -1,10 +0,0 @@
{
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
}

View file

@ -1,6 +0,0 @@
{
"rougail": {
"var1": [],
"var2": []
}
}

View file

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

View file

@ -1,7 +0,0 @@
{
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
}

View file

@ -1,7 +0,0 @@
{
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
}

View file

@ -1,9 +0,0 @@
{
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
}

View file

@ -1,5 +0,0 @@
{
"rougail": {
"var": 9
}
}

View file

@ -1,5 +0,0 @@
{
"rougail": {
"variable": "c"
}
}

View file

@ -1,5 +0,0 @@
{
"rougail": {
"int": 10
}
}

View file

@ -1,7 +0,0 @@
{
"rougail": {
"condition": false,
"var3": null,
"var4": null
}
}

View file

@ -1,18 +0,0 @@
{
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
}

View file

@ -1,10 +0,0 @@
{
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
}

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,5 +0,0 @@
{
"rougail": {
"var": 0
}
}

View file

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

View file

@ -1,5 +0,0 @@
{
"rougail": {
"int": 1
}
}

View file

@ -1,5 +0,0 @@
{
"rougail": {
"condition": true
}
}

View file

@ -1,18 +0,0 @@
{
"rougail": {
"leader": [
{
"leader": "string1",
"follower1": 1
},
{
"leader": "string2",
"follower1": 2
},
{
"leader": "string3",
"follower1": 3
}
]
}
}

View file

@ -1,10 +0,0 @@
{
"rougail": {
"dyna": {
"var": "string1"
},
"dynb": {
"var": "string1"
}
}
}

View file

@ -1,7 +0,0 @@
{
"_errors": [
"The following variables are mandatory but have no value:",
" - rougail.var1 (a first variable)",
" - rougail.var2 (a second variable)"
]
}

View file

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

View file

@ -1,7 +0,0 @@
{
"rougail": {
"var1": "1.1.1.1",
"var2": "1.1.1.1/24",
"var3": "1.1.1.1/24"
}
}

View file

@ -1,7 +0,0 @@
{
"rougail": {
"var1": "1.1.1.0",
"var2": "1.1.1.0/24",
"var3": "1.1.1.0/24"
}
}

View file

@ -1,9 +0,0 @@
{
"rougail": {
"my_variable": "val1",
"my_calculated_variable": [
"val1",
"value"
]
}
}

View file

@ -1,5 +0,0 @@
{
"rougail": {
"var": 9
}
}

View file

@ -1,5 +0,0 @@
{
"rougail": {
"variable": "c"
}
}

View file

@ -1,5 +0,0 @@
{
"rougail": {
"int": 10
}
}

View file

@ -1,7 +0,0 @@
{
"rougail": {
"condition": false,
"var3": null,
"var4": null
}
}

View file

@ -1,6 +1,6 @@
{
"_errors": [
"The following variables are mandatory but have no value:",
" - rougail.int (An integer)"
" - rougail.int (A number)"
]
}

View file

@ -1,6 +1,6 @@
{
"_errors": [
"The following variables are mandatory but have no value:",
" - rougail.general.int (a first integer)"
" - rougail.general.int (a first number)"
]
}

View file

@ -1,18 +0,0 @@
{
"rougail": {
"leader": [
{
"leader": "a",
"follower1": 0
},
{
"leader": "b",
"follower1": 1
},
{
"leader": "c",
"follower1": 2
}
]
}
}

View file

@ -1,10 +0,0 @@
{
"rougail": {
"dyna": {
"var": "val"
},
"dynb": {
"var": "val"
}
}
}

View file

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

View file

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

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