Compare commits

..

No commits in common. "0.1.0a9" and "main" have entirely different histories.

285 changed files with 329 additions and 1744 deletions

View file

@ -1,76 +0,0 @@
## 0.1.0a9 (2025-04-30)
### Feat
- add yamllint validation
### Fix
- update tests
- add version
## 0.1.0a8 (2025-04-01)
### Fix
- update tests
## 0.1.0a7 (2025-03-30)
### Feat
- support multi lines for help
## 0.1.0a6 (2025-03-28)
### Fix
- do not add multi \n at ends of export
## 0.1.0a5 (2025-03-27)
### Fix
- if and for in 3 lines
## 0.1.0a4 (2025-03-27)
### Feat
- format jinja template
## 0.1.0a3 (2025-03-27)
### Feat
- add secret_manager support
- add Namespace(Param|Calculation) support
### Fix
- do not add namespace in param
- an empty variable is []
## 0.1.0a2 (2025-03-26)
### Fix
- pyproject.toml
## 0.1.0a1 (2025-03-26)
### Fix
- add pyproject.toml
## 0.1.0a0 (2025-02-10)
### Feat
- output return status too
## 0.0.1a0 (2025-01-04)
### Fix
- remove prefix_path

View file

@ -1,47 +0,0 @@
[build-system]
build-backend = "flit_core.buildapi"
requires = ["flit_core >=3.8.0,<4"]
[project]
name = "rougail.output_formatter"
version = "0.1.0a9"
authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
readme = "README.md"
description = "Rougail output formatter"
requires-python = ">=3.8"
license = {file = "LICENSE"}
classifiers = [
"License :: OSI Approved :: GNU Library or Lesser General Public License (LGPL)",
"Programming Language :: Python",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Programming Language :: Python :: 3",
"Operating System :: OS Independent",
"Natural Language :: English",
"Natural Language :: French",
]
dependencies = [
"rougail >= 1.1,<2",
"djlint == 1.36.4",
]
[project.urls]
Home = "https://forge.cloud.silique.fr/stove/rougail-output-formatter"
[tool.commitizen]
name = "cz_conventional_commits"
tag_format = "$version"
version_scheme = "pep440"
version_provider = "pep621"
version_files = [
"src/rougail/output_formatter/__version__.py",
"pyproject.toml:version"
]
update_changelog_on_bump = true
changelog_merge_prerelease = true

View file

@ -1,6 +1,6 @@
"""
Silique (https://www.silique.fr)
Copyright (C) 2024-2025
Copyright (C) 2024
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the
@ -22,44 +22,24 @@ from pathlib import Path
from typing import Optional
from ruamel.yaml import YAML, CommentedMap
from ruamel.yaml.representer import RoundTripRepresenter
from ruamel.yaml.tokens import CommentToken
from ruamel.yaml.error import CommentMark
from ruamel.yaml.comments import CommentedSeq
from ruamel.yaml.scalarstring import LiteralScalarString, FoldedScalarString, ScalarString
from djlint.settings import Config
from djlint.reformat import formatter
from ruamel.yaml.scalarstring import LiteralScalarString, FoldedScalarString
from tiramisu import undefined
from tiramisu.config import get_common_path
from rougail.convert import RougailConvert
from rougail.object_model import Variable, Family, Calculation, JinjaCalculation, IdentifierCalculation, IdentifierPropertyCalculation, NamespaceCalculation, IdentifierParam, IndexCalculation, IndexParam, NamespaceParam, Param
from rougail.object_model import Variable, Family, Calculation, JinjaCalculation, IdentifierCalculation, IdentifierPropertyCalculation, IdentifierParam, IndexCalculation, IndexParam, Param
from rougail.utils import normalize_family
from .upgrade import RougailUpgrade
from .__version__ import __version__
def _(text):
return text
# XXX explicit null
def represent_none(self, data):
return self.represent_scalar('tag:yaml.org,2002:null', 'null')
def represent_str(self, data):
if data == '':
return self.represent_scalar('tag:yaml.org,2002:null', "")
return self.represent_scalar('tag:yaml.org,2002:str', data)
RoundTripRepresenter.add_representer(type(None), represent_none)
RoundTripRepresenter.add_representer(str, represent_str)
# XXX
class RougailOutputFormatter:
output_name = 'formatter'
@ -92,12 +72,6 @@ class RougailOutputFormatter:
filename = Path(filenames[0])
if not filename.is_file():
raise Exception(_('only a file is allowed'))
self.config = Config()
self.config.profile = 'jinja'
self.config.line_break_after_multiline_tag = True
self.config.indent = " "
self.original_yaml = RougailUpgrade(rougailconfig).run(filename)
datas = RougailUpgrade(rougailconfig).run(filename)
self.rougail = RougailConvert(rougailconfig)
@ -128,19 +102,15 @@ class RougailOutputFormatter:
self.families = {None: CommentedMap()}
self.parse()
self.yaml.indent(mapping=2, sequence=4, offset=2)
self.yaml.version = '1.2'
self.yaml.explicit_start = True
self.yaml.explicit_end = True
self.yaml.explicit_start=True
self.default_flow_style = False
with BytesIO() as ymlfh:
self.yaml.dump(self.families[None], ymlfh)
ret = ymlfh.getvalue().decode("utf-8").strip()
return True, ret
ret = ymlfh.getvalue().decode("utf-8").strip() + '\n'
return ret
def print(self):
ret, data = self.run()
print(data)
return ret
print(self.run())
def parse(self):
# FIXME path to relative !
@ -155,9 +125,7 @@ class RougailOutputFormatter:
self.families[None][version_name] = None
self.families[None].yaml_value_comment_extend(version_name, [CommentToken('\n\n', CommentMark(0)), None])
version = None
self.remaining = len(self.rougail.paths._data)
for path, obj in self.rougail.paths._data.items():
self.remaining -= 1
if version is None or version == '':
version = obj.version
if path == self.rougail.namespace:
@ -191,7 +159,7 @@ class RougailOutputFormatter:
else:
attributes = self.families_attributes
for attr, default_value in attributes.items():
if attr in ["name", "path", "namespace", "version", "xmlfiles"]:
if attr in ["name", "path", "namespace", "version", "path_prefix", "xmlfiles"]:
continue
try:
value = getattr(obj, attr)
@ -214,16 +182,7 @@ class RougailOutputFormatter:
elif not set(family) - {'description'}:
#
ret[name] = CommentedMap()
add_column = 3
path_len = path.count('.')
if self.rougail.namespace:
path_len -= 1
column = path_len * 2 + len(name) + add_column
if self.remaining:
description = family["description"] + '\n\n'
else:
description = family["description"]
ret.yaml_add_eol_comment(description, name, column=column)
ret.yaml_add_eol_comment(family["description"] + '\n\n', name)
else:
self.add_space(family)
ret[name] = family
@ -245,7 +204,7 @@ class RougailOutputFormatter:
multi = obj.multi or isinstance(obj.default, list)
type_ = obj.type
for attr, default_value in self.variables_attributes.items():
if attr in ["name", "path", "namespace", "version", "xmlfiles"]:
if attr in ["name", "path", "namespace", "version", "path_prefix", "xmlfiles"]:
continue
try:
value = getattr(obj, attr)
@ -279,42 +238,26 @@ class RougailOutputFormatter:
# if boolean, the default value is True
del variable["type"]
variable["default"] = True
if "default" not in variable and variable.get("multi") is True and not set(variable) - {'default', 'description', "multi"}:
variable["default"] = []
del(variable['multi'])
if not isinstance(variable.get("default"), dict) and not set(variable) - {'default', 'description'}:
# shorthand notation
default = variable.get('default')
ret[name] = default
add_column = 3
if isinstance(default, list):
ret[name] = CommentedSeq()
if not default:
add_column += 3
for d in default:
ret[name].append(d)
else:
if default is None:
ret[name] = ""
else:
ret[name] = default
add_column += len(str(default)) + 1
ret[name] = default
if "description" in variable:
description = variable["description"]
if self.remaining and (not multi or not default):
if not multi or not default:
description += "\n\n"
path_len = path.count('.')
if self.rougail.namespace:
path_len -= 1
column = path_len * 2 + len(name) + add_column
ret.yaml_add_eol_comment(description, name, column=column)
ret.yaml_add_eol_comment(description, name)
if multi and default:
self.add_space(ret)
else:
self.add_space(ret)
else:
if "default" in variable and variable["default"] is None:
variable["default"] = ""
ret[name] = variable
self.add_space(variable)
@ -328,17 +271,12 @@ class RougailOutputFormatter:
return _get_last_obj(o[param], o, param, 'seq')
return typ, parent, param
param = list(obj)[-1]
if isinstance(obj[param], ScalarString):
enter = '\n'
else:
enter = '\n\n'
typ, parent, param = _get_last_obj(obj[param], obj, param, 'map')
if typ == 'seq':
func = parent.yaml_key_comment_extend
else:
func = parent.yaml_value_comment_extend
if self.remaining:
func(param, [CommentToken(enter, CommentMark(0)), None])
func(param, [CommentToken('\n\n', CommentMark(0)), None])
def object_to_yaml(self, key, type_, value, multi, object_path):
if isinstance(value, list):
@ -355,18 +293,11 @@ class RougailOutputFormatter:
return new_values
if isinstance(value, JinjaCalculation):
jinja = CommentedMap()
jinja_values = formatter(self.config, value.jinja.strip())[:-1]
# replace \n to space a add index of \n (now a space) to fold_pos
jinja_values = value.jinja.strip()
if key == 'default' and not multi:
jinja["jinja"] = FoldedScalarString(jinja_values)
fold_pos = []
old_i = 0
for i, ltr in enumerate(jinja_values):
if ltr == '\n':
fold_pos.append(i - old_i)
old_i = 1
jinja["jinja"].fold_pos = fold_pos
elif key == 'secret_manager':
return self.object_to_yaml("params", type_, value.params, multi, object_path)
jinja["jinja"] = FoldedScalarString(jinja_values.replace('\n', ' '))
jinja["jinja"].fold_pos = [i for i, ltr in enumerate(jinja_values) if ltr == '\n']
else:
jinja["jinja"] = LiteralScalarString(jinja_values)
if value.return_type:
@ -381,10 +312,8 @@ class RougailOutputFormatter:
variable = CommentedMap()
if isinstance(value, (IdentifierCalculation, IdentifierPropertyCalculation)):
variable["type"] = "identifier"
elif isinstance(value, IndexCalculation):
if isinstance(value, IndexCalculation):
variable["type"] = "index"
elif isinstance(value, NamespaceCalculation):
variable["type"] = "namespace"
for key, default in variable_attributes.items():
val = getattr(value, key)
if val != default and val is not undefined:
@ -395,17 +324,15 @@ class RougailOutputFormatter:
del variable["type"]
return variable
elif isinstance(value, Param):
param_attributes = self.get_object_informations(value, ["type", "key", "namespace"])
param_attributes = self.get_object_informations(value, ["type", "key"])
if list(param_attributes) == ['value']:
variable = value.value
else:
variable = CommentedMap()
if isinstance(value, IdentifierParam):
variable["type"] = "identifier"
elif isinstance(value, IndexParam):
if isinstance(value, IndexParam):
variable["type"] = "index"
elif isinstance(value, NamespaceParam):
variable["type"] = "namespace"
for key, default in param_attributes.items():
val = getattr(value, key)
if val != default and val is not undefined:
@ -417,8 +344,6 @@ class RougailOutputFormatter:
return {value.key: variable}
elif type_ == 'port' and isinstance(value, str) and value.isnumeric():
return int(value)
elif key == 'help' and '\n' in value:
return LiteralScalarString(value)
return value
def calc_variable_path(self, object_path, variable_path):

View file

@ -1 +0,0 @@
__version__ = "0.1.0a9"

View file

@ -1,6 +1,6 @@
"""
Silique (https://www.silique.fr)
Copyright (C) 2024-2025
Copyright (C) 2024
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the
@ -29,14 +29,14 @@ load_unexist_redefine:
type: boolean
default:
jinja: >-
{% if step.output is not propertyerror and step.output == 'formatter' %}
{% if step.output == 'formatter' %}
true
{% else %}
false
{% endif %}
hidden:
jinja: >-
{% if step.output is not propertyerror and step.output == 'formatter' %}
{% if step.output == 'formatter' %}
load_unexist_redefine is always true with 'formatter' output
{% endif %}
"""

View file

@ -4,7 +4,7 @@ Cadoles (http://www.cadoles.com)
Copyright (C) 2021
Silique (https://www.silique.fr)
Copyright (C) 2022-2025
Copyright (C) 2022-2024
This program is free software: you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the

View file

@ -1,6 +1,4 @@
%YAML 1.2
---
_version: 1.1
version: # a variable
...
version: # a variable

View file

@ -1,6 +1,4 @@
%YAML 1.2
---
version: 1.1
empty:
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
var1: no # a first variable
var1: no # a first variable
var2:
description: a second variable
@ -11,4 +10,3 @@ var2:
jinja: |-
{{ _.var1 }}
description: the value of var1
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
var1: # a first variable
var1: # a first variable
- no
- yes
- maybe
@ -13,7 +12,6 @@ var2:
default:
jinja: |-
{% for val in _.var1 %}
{{ val }}
{{ val }}
{% endfor %}
description: the value of _.var1
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -13,4 +12,3 @@ var2:
description: a second variable
default:
variable: _.var1
...

View file

@ -1,6 +1,4 @@
%YAML 1.2
---
version: 1.1
var1: # a variable
...
var1: # a variable

View file

@ -1,6 +1,4 @@
%YAML 1.2
---
version: 1.1
var2: # a variable
...
var2: # a variable

View file

@ -1,6 +1,4 @@
%YAML 1.2
---
version: 1.1
without_type: non # a variable
...
without_type: non # a variable

View file

@ -1,16 +1,14 @@
%YAML 1.2
---
version: 1.1
var1: true # the first variable
var1: true # the first variable
var2: true # the second variable
var2: true # the second variable
var3: true # the third variable
var3: true # the third variable
var4: false # the forth variable
var4: false # the forth variable
var5: false # the fifth variable
var5: false # the fifth variable
var6: false # the sixth variable
...
var6: false # the sixth variable

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -6,4 +5,3 @@ variable:
description: a variable
mandatory: false
default: true
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -27,7 +26,7 @@ var3:
var4:
description: the forth variable
choices:
- null
-
- b
- c
mandatory: false
@ -47,4 +46,3 @@ var6:
- 2
- 3
default: 1
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -7,9 +6,8 @@ var:
choices:
jinja: |-
{% for n in trange(0, 10) %}
{{ n }}
{{ n }}
{% endfor %}
return_type: number
description: choices is 0 to 9
default: 9
...

View file

@ -1,16 +0,0 @@
%YAML 1.2
---
version: 1.1
var1:
description: the first variable
choices:
- a
- b
- c
var2:
description: the second variable
default:
variable: _.var1
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
var1: # a second variable
var1: # a second variable
- a
- b
- c
@ -12,4 +11,3 @@ var2:
choices:
variable: _.var1
default: a
...

View file

@ -1,20 +0,0 @@
%YAML 1.2
---
version: 1.1
var1: # a second variable
- a
- b
- c
var2:
description: a first variable
choices:
variable: _.var1
default: a
var3:
description: a third variable
default:
variable: _.var2
...

View file

@ -1,22 +0,0 @@
%YAML 1.2
---
version: 1.1
var1: # a second variable
- a
- b
- c
var2:
description: a first variable
choices:
variable: _.var1
default: a
family:
var3:
description: a third variable
default:
variable: __.var2
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -10,4 +9,3 @@ custom2:
description: the seconf variable
type: custom
default: value
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -6,4 +5,3 @@ variable:
description: a domain name variable
type: domainname
default: my.domain.name
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -8,4 +7,3 @@ variable:
params:
allow_ip: true
default: my.domain.name
...

View file

@ -1,16 +1,14 @@
%YAML 1.2
---
version: 1.1
var1: 0.0 # the first variable
var1: 0.0 # the first variable
var2: 0.0 # the second variable
var2: 0.0 # the second variable
var3: 0.0 # the third variable
var3: 0.0 # the third variable
var4: 10.1 # the forth variable
var4: 10.1 # the forth variable
var5: 10.1 # the fifth variable
var5: 10.1 # the fifth variable
var6: 10.1 # the sixth variable
...
var6: 10.1 # the sixth variable

View file

@ -1,16 +1,14 @@
%YAML 1.2
---
version: 1.1
var1: 0 # the first variable
var1: 0 # the first variable
var2: 0 # the second variable
var2: 0 # the second variable
var3: 0 # the third variable
var3: 0 # the third variable
var4: 10 # this forth variable
var4: 10 # this forth variable
var5: 10 # the fifth variable
var5: 10 # the fifth variable
var6: 10 # the sixth variable
...
var6: 10 # the sixth variable

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -15,4 +14,3 @@ variable3:
description: a port variable with integer default value
type: port
default: 8080
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -9,4 +8,3 @@ var:
- '#b2b2b2'
regexp: ^#(?:[0-9a-f]{3}){1,2}$
default: '#a1a1a1'
...

View file

@ -1,20 +0,0 @@
%YAML 1.2
---
version: 1.1
var1:
description: a first variable
test:
- '#b1b1b1'
- '#b2b2b2'
regexp: ^#(?:[0-9a-f]{3}){1,2}$
default: '#a1a1a1'
var2:
description: a second variable
test:
- '#b2b1b1'
- '#b3b2b2'
default:
variable: _.var1
...

View file

@ -1,13 +0,0 @@
%YAML 1.2
---
version: 1.1
secret1:
description: the first variable
type: secret
secret2:
description: the second variable
type: secret
default: value
...

View file

@ -1,29 +0,0 @@
%YAML 1.2
---
version: 1.1
secret1:
description: the first variable
type: secret
params:
min_len: 10
secret2:
description: the second variable
type: secret
params:
max_len: 10
forbidden_char:
- $
- ^
default: value
secret3:
description: the third variable
type: secret
params:
max_len: 10
forbidden_char:
- $
default: value
...

View file

@ -1,16 +1,14 @@
%YAML 1.2
---
version: 1.1
var1: # the first variable
var1: # the first variable
var2: # the second variable
var2: # the second variable
var3: # the third variable
var3: # the third variable
var4: value # the forth variable
var4: value # the forth variable
var5: value # the fifth variable
var5: value # the fifth variable
var6: value # the sixth variable
...
var6: value # the sixth variable

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -10,4 +9,3 @@ var:
- quote"
- quote"'
default: quote'
...

View file

@ -1,20 +0,0 @@
%YAML 1.2
---
version: 1.1
var1:
description: the first variable
help: |-
Multi line
Help
With useful information
var2:
description: the second variable
help: |-
Multi line
Help
With useful information
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -9,4 +8,3 @@ var1:
var2:
description: the second variable
help: message with "
...

View file

@ -1,20 +0,0 @@
%YAML 1.2
---
version: 1.1
var1:
description: the first <variable>
help: |-
Multi line
<Help>
With useful information
var2:
description: the second <variable>
help: |-
Multi line
<Help>
With useful information
...

View file

@ -1,6 +1,4 @@
%YAML 1.2
---
version: 1.1
variable: quote" # a variable
...
variable: quote" # a variable

View file

@ -1,6 +1,4 @@
%YAML 1.2
---
version: 1.1
variable: quote'" # a variable
...
variable: quote'" # a variable

View file

@ -1,6 +1,4 @@
%YAML 1.2
---
version: 1.1
variable: quote\"\' # a variable
...
variable: quote\"\' # a variable

View file

@ -1,6 +1,4 @@
%YAML 1.2
---
version: 1.1
variable: quote' # a variable
...
variable: quote' # a variable

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -6,9 +5,8 @@ variable:
description: a variable
default:
jinja: >-
{{ test_information }}
{{test_information }}
description: get information test_information
params:
test_information:
information: test_information
...

View file

@ -1,10 +0,0 @@
%YAML 1.2
---
version: 1.1
variable:
description: a variable
default:
type: namespace
mandatory: false
...

View file

@ -1,14 +0,0 @@
%YAML 1.2
---
version: 1.1
variable:
description: a variable
default:
jinja: >-
{{ namespace }}
params:
namespace:
type: namespace
mandatory: false
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -22,7 +21,7 @@ var3:
var4:
description: the forth variable
test:
- null
-
- test1
- test2
mandatory: false
@ -39,4 +38,3 @@ var6:
- test1
- test2
multi: true
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -16,4 +15,3 @@ variable2:
- val2
multi: true
mandatory: false
...

View file

@ -1,10 +1,9 @@
%YAML 1.2
---
version: 1.1
source_variable_1: val1 # the first source variable
source_variable_1: val1 # the first source variable
source_variable_2: val2 # the second source variable
source_variable_2: val2 # the second source variable
my_variable:
description: a variable
@ -13,4 +12,3 @@ my_variable:
- variable: _.source_variable_1
- variable: _.source_variable_2
default: val1
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -12,5 +11,4 @@ variable:
param1: string
param2: 1
param3: true
param4: null
...
param4:

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -12,4 +11,3 @@ var:
information:
information: test_information
variable: _.var
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
var1: # a first variable
var1: # a first variable
var2:
description: a second variable
@ -13,4 +12,3 @@ var2:
information:
information: test_information
variable: _.var1
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -9,4 +8,3 @@ my_calculated_variable:
optional: true
- variable: _.my_variable_unexists
optional: true
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -9,4 +8,3 @@ my_calculated_variable:
optional: true
- variable: _.my_variable
optional: true
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -7,4 +6,3 @@ my_calculated_variable:
default:
variable: _.my_variable
optional: true
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -11,4 +10,3 @@ my_calculated_variable:
default:
variable: _.my_variable
optional: true
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -6,15 +5,8 @@ var1:
description: a first variable
default:
jinja: >-
{% if var2 is defined %}
{{ var2 }}
{% elif var3 is defined %}
{{ var3 }}
{% elif var4 is defined %}
{{ var4 }}
{% else %}
{{ _.var2 }}
{% endif %}
{% if var2 is defined %} {{ var2 }} {% elif var3 is defined %} {{ var3 }} {%
elif var4 is defined %} {{ var4 }} {% else %} {{ _.var2 }} {% endif %}
description: returns a value
params:
var2:
@ -29,4 +21,3 @@ var1:
mandatory: false
var2: no # a second variable
...

View file

@ -1,12 +1,10 @@
%YAML 1.2
---
version: 1.1
var1: # a first variable
var1: # a first variable
var2:
description: a second variable
default:
information: test_information
variable: _.var1
...

View file

@ -1,12 +1,10 @@
%YAML 1.2
---
version: 1.1
var1: # a first variable
var1: # a first variable
var2:
description: a second variable
default:
information: test_information
variable: _.var1
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -7,9 +6,8 @@ var:
choices:
jinja: |-
{% for item in trange(0, 10) %}
{{ item }}
{{ item }}
{%- endfor %}
return_type: number
description: choice for 0 to 9
default: 9
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -8,4 +7,3 @@ variable:
jinja: >-
no
description: return no
...

View file

@ -1,6 +1,4 @@
%YAML 1.2
---
version: 1.1
variable: rougail # a variable
...
variable: rougail # a variable

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -23,4 +22,3 @@ variable3:
params:
variable:
variable: rougail.variable
...

View file

@ -1,6 +1,4 @@
%YAML 1.2
---
version: 1.1
variable: value # a variable
...
variable: value # a variable

View file

@ -1,6 +1,4 @@
%YAML 1.2
---
version: 1.1
variable: value in extra # a variable
...
variable: value in extra # a variable

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -6,4 +5,3 @@ variable:
description: a variable
default:
variable: extra.variable
...

View file

@ -1,28 +1,26 @@
%YAML 1.2
---
version: 1.1
var1: # the first variable
var1: # the first variable
- true
var2: # the second variable
var2: # the second variable
- true
var3: # the third variable
var3: # the third variable
- true
var4: # the forth variable
var4: # the forth variable
- false
var5: # the fifth variable
var5: # the fifth variable
- false
var6: # the sixth variable
var6: # the sixth variable
- false
var7: # the seventh variable
var7: # the seventh variable
- true
var8: # the eighth variable
var8: # the eighth variable
- true
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -12,4 +11,3 @@ custom2:
type: custom
default:
- value
...

View file

@ -1,28 +1,26 @@
%YAML 1.2
---
version: 1.1
var1: # the first variable
var1: # the first variable
- 0.0
var2: # the second variable
var2: # the second variable
- 0.0
var3: # the third variable
var3: # the third variable
- 0.0
var4: # the forth variable
var4: # the forth variable
- 10.1
var5: # the fifth variable
var5: # the fifth variable
- 10.1
var6: # the sixth variable
var6: # the sixth variable
- 10.1
var7: # the seventh variable
var7: # the seventh variable
- 0.0
var8: # the eighth variable
var8: # the eighth variable
- 0.0
...

View file

@ -1,28 +1,26 @@
%YAML 1.2
---
version: 1.1
var1: # the first variable
var1: # the first variable
- 0
var2: # the second variable
var2: # the second variable
- 0
var3: # the third variable
var3: # the third variable
- 0
var4: # the forth variable
var4: # the forth variable
- 10
var5: # the fifth variable
var5: # the fifth variable
- 10
var6: # the sixth variable
var6: # the sixth variable
- 10
var7: # the seventh variable
var7: # the seventh variable
- 0
var8: # the eighth variable
var8: # the eighth variable
- 0
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -6,6 +5,5 @@ var1:
description: the second variable
default:
- value
- null
-
empty: false
...

View file

@ -1,25 +1,23 @@
%YAML 1.2
---
version: 1.1
var1: [] # the first variable
var1: [] # the first variable
var2: [] # the second variable
var2: [] # the second variable
var3: [] # the third variable
var3: [] # the third variable
var4: # the forth variable
var4: # the forth variable
- value
var5: # the fifth variable
var5: # the fifth variable
- value
var6: # the sixth variable
var6: # the sixth variable
- value
var7: # the seventh variable
var7: # the seventh variable
- value
var8: # the eighth variable
var8: # the eighth variable
- value
...

View file

@ -1,7 +1,5 @@
%YAML 1.2
---
version: 1.1
variable: # a variable
variable: # a variable
- quote"
...

View file

@ -1,7 +1,5 @@
%YAML 1.2
---
version: 1.1
variable: # a variable
variable: # a variable
- quote'"
...

View file

@ -1,7 +1,5 @@
%YAML 1.2
---
version: 1.1
variable: # a variable
variable: # a variable
- quote'
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -8,10 +7,9 @@ variable:
default:
jinja: |-
{% for info in test_information %}
{{ info }}
{{ info }}
{% endfor %}
description: get information test_information
params:
test_information:
information: test_information_list
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
variable1: # a first variable
variable1: # a first variable
- a
- b
- c
@ -11,4 +10,3 @@ variable2:
description: a second variable
choices:
variable: _.variable1
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -8,4 +7,3 @@ int:
min_number: 0
max_number: 100
default: 10
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -6,4 +5,3 @@ variable:
description: an auto save variable
default: no
auto_save: true
...

View file

@ -1,12 +1,10 @@
%YAML 1.2
---
version: 1.1
var1: no # a first variable
var1: no # a first variable
var2:
description: a second variable
default:
variable: _.var1
auto_save: true
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
var1: no # a first variable
var1: no # a first variable
var2:
description: a second variable
@ -14,7 +13,6 @@ var2:
hidden:
jinja: |-
{% if _.var1 == "yes" %}
_.var1 is yes
_.var1 is yes
{% endif %}
description: only if the variable var1 has value "yes"
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -8,4 +7,3 @@ var:
auto_save: true
mandatory: false
hidden: true
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
var1: value # a first variable
var1: value # a first variable
var2:
description: a second variable
@ -15,6 +14,5 @@ var3:
default:
jinja: >-
{% if _.var1 == 'value' or _.var2 == 'blah' %}
value
value
{% endif %}
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
var1: value # a first variable
var1: value # a first variable
var2:
description: a second variable
@ -15,6 +14,5 @@ var3:
default:
jinja: >-
{% if _.var2 is propertyerror %}
value
value
{% endif %}
...

View file

@ -1,15 +1,14 @@
%YAML 1.2
---
version: 1.1
condition: no # a conditional variable
condition: no # a conditional variable
variable1:
description: a first variable
disabled:
jinja: |-
{% if _.condition == "yes" %}
condition is yes
condition is yes
{% endif %}
description: if condition is egal to "yes"
@ -18,7 +17,6 @@ variable2:
disabled:
jinja: |-
{% if _.condition == "yes" %}
condition is yes
condition is yes
{% endif %}
description: if condition is egal to "yes"
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
condition: no # a condition
condition: no # a condition
var1:
description: a first variable
@ -13,7 +12,7 @@ var1:
disabled:
jinja: |-
{% if _.condition == "yes" %}
condition is yes
condition is yes
{% endif %}
description: if condition is yes
@ -26,7 +25,6 @@ var2:
disabled:
jinja: |-
{% if rougail.condition == "yes" %}
condition is yes
condition is yes
{% endif %}
description: if condition is yes
...

View file

@ -1,26 +0,0 @@
%YAML 1.2
---
version: 1.1
condition: no # a conditional variable
variable1:
description: a first variable
multi: true
disabled:
jinja: |-
{% if _.condition == "yes" %}
condition is yes
{% endif %}
description: if condition is egal to "yes"
variable2:
description: a second variable
multi: true
disabled:
jinja: |-
{% if _.condition == "yes" %}
condition is yes
{% endif %}
description: if condition is egal to "yes"
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
condition: no # a condition
condition: no # a condition
var1:
description: a first variable
@ -10,9 +9,9 @@ var1:
hidden:
jinja: |-
{% if unknown is not defined %}
unknown is undefined
unknown is undefined
{% elif unknown == "no" %}
unknown is no
unknown is no
{% endif %}
description: calculation from an unknown variable
params:
@ -26,13 +25,12 @@ var2:
hidden:
jinja: |-
{% if condition is not defined %}
condition is undefined
condition is undefined
{% elif condition == "no" %}
condition is no
condition is no
{% endif %}
description: calculation from an condition variable
params:
condition:
variable: _.condition
optional: true
...

View file

@ -1,11 +1,9 @@
%YAML 1.2
---
version: 1.1
condition: false # a condition
condition: false # a condition
variable:
description: a variable
disabled:
variable: _.condition
...

View file

@ -1,11 +1,9 @@
%YAML 1.2
---
version: 1.1
condition: true # a condition
condition: true # a condition
variable:
description: a variable
disabled:
variable: _.condition
...

View file

@ -1,12 +1,10 @@
%YAML 1.2
---
version: 1.1
condition: yes # a condition
condition: yes # a condition
variable:
description: a variable
disabled:
variable: _.condition
when: yes
...

View file

@ -1,12 +1,10 @@
%YAML 1.2
---
version: 1.1
condition: yes # a condition
condition: yes # a condition
variable:
description: a variable
disabled:
variable: _.condition
when_not: yes
...

View file

@ -1,12 +0,0 @@
%YAML 1.2
---
version: 1.1
condition: false # a condition
variable:
description: a variable
multi: true
disabled:
variable: _.condition
...

View file

@ -1,12 +0,0 @@
%YAML 1.2
---
version: 1.1
condition: [] # a condition
variable:
description: a variable
multi: true
disabled:
variable: _.condition
...

View file

@ -1,14 +0,0 @@
%YAML 1.2
---
version: 1.1
condition: # a condition
- val1
- val2
variable:
description: a variable
multi: true
disabled:
variable: _.condition
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
condition: no # the condition
condition: no # the condition
var1:
description: a first variable
@ -10,7 +9,7 @@ var1:
hidden:
jinja: |-
{% if _.condition == "yes" %}
condition is yes
condition is yes
{% endif %}
description: if condition is yes
@ -20,7 +19,6 @@ var2:
hidden:
jinja: |-
{% if rougail.condition == "yes" %}
condition is yes
condition is yes
{% endif %}
description: if condition is yes
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
condition: no # a condition
condition: no # a condition
var1:
description: a first variable
@ -13,7 +12,7 @@ var1:
hidden:
jinja: |-
{% if _.condition != "yes" %}
condition is yes
condition is yes
{% endif %}
description: if condition is yes
@ -26,7 +25,6 @@ var2:
hidden:
jinja: |-
{% if rougail.condition != "yes" %}
condition is yes
condition is yes
{% endif %}
description: if condition is yes
...

View file

@ -1,8 +1,7 @@
%YAML 1.2
---
version: 1.1
condition: no # a condition
condition: no # a condition
var1:
description: a first variable
@ -13,7 +12,7 @@ var1:
hidden:
jinja: |-
{% if _.condition == "yes" %}
condition is yes
condition is yes
{% endif %}
description: if condition is yes
@ -26,7 +25,6 @@ var2:
hidden:
jinja: |-
{% if rougail.condition == "yes" %}
condition is yes
condition is yes
{% endif %}
description: if condition is yes
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -8,7 +7,6 @@ int:
validators:
- jinja: |-
{% if _.int > 100 %}
value is too high
value is too high
{% endif %}
description: the max value is 100
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -9,10 +8,9 @@ var1:
validators:
- jinja: |-
{% if _.var1 == _.var2 %}
var1 must be different than var2
var1 must be different than var2
{% endif %}
description: var1 must be different than var2
default: oui
var2: no # A second variable
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -7,10 +6,9 @@ var1:
validators:
- jinja: |-
{% if _.var1 | length > 9 %}
length must be less than 10
length must be less than 10
{% endif %}
description: check length is less than 10
default:
- no
- yes
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
---
version: 1.1
@ -10,7 +9,7 @@ var1:
validators:
- jinja: |-
{% if values | length > 2 %}
length must be less than 3
length must be less than 3
{% endif %}
description: check length is less than 3
params:
@ -20,4 +19,3 @@ var1:
default:
- no
- yes
...

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