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) 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 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 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 typing import Optional
from ruamel.yaml import YAML, CommentedMap from ruamel.yaml import YAML, CommentedMap
from ruamel.yaml.representer import RoundTripRepresenter
from ruamel.yaml.tokens import CommentToken from ruamel.yaml.tokens import CommentToken
from ruamel.yaml.error import CommentMark from ruamel.yaml.error import CommentMark
from ruamel.yaml.comments import CommentedSeq from ruamel.yaml.comments import CommentedSeq
from ruamel.yaml.scalarstring import LiteralScalarString, FoldedScalarString, ScalarString from ruamel.yaml.scalarstring import LiteralScalarString, FoldedScalarString
from djlint.settings import Config
from djlint.reformat import formatter
from tiramisu import undefined from tiramisu import undefined
from tiramisu.config import get_common_path from tiramisu.config import get_common_path
from rougail.convert import RougailConvert 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 rougail.utils import normalize_family
from .upgrade import RougailUpgrade from .upgrade import RougailUpgrade
from .__version__ import __version__
def _(text): def _(text):
return 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: class RougailOutputFormatter:
output_name = 'formatter' output_name = 'formatter'
@ -92,12 +72,6 @@ class RougailOutputFormatter:
filename = Path(filenames[0]) filename = Path(filenames[0])
if not filename.is_file(): if not filename.is_file():
raise Exception(_('only a file is allowed')) 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) self.original_yaml = RougailUpgrade(rougailconfig).run(filename)
datas = RougailUpgrade(rougailconfig).run(filename) datas = RougailUpgrade(rougailconfig).run(filename)
self.rougail = RougailConvert(rougailconfig) self.rougail = RougailConvert(rougailconfig)
@ -128,19 +102,15 @@ class RougailOutputFormatter:
self.families = {None: CommentedMap()} self.families = {None: CommentedMap()}
self.parse() self.parse()
self.yaml.indent(mapping=2, sequence=4, offset=2) self.yaml.indent(mapping=2, sequence=4, offset=2)
self.yaml.version = '1.2' self.yaml.explicit_start=True
self.yaml.explicit_start = True
self.yaml.explicit_end = True
self.default_flow_style = False self.default_flow_style = False
with BytesIO() as ymlfh: with BytesIO() as ymlfh:
self.yaml.dump(self.families[None], ymlfh) self.yaml.dump(self.families[None], ymlfh)
ret = ymlfh.getvalue().decode("utf-8").strip() ret = ymlfh.getvalue().decode("utf-8").strip() + '\n'
return True, ret return ret
def print(self): def print(self):
ret, data = self.run() print(self.run())
print(data)
return ret
def parse(self): def parse(self):
# FIXME path to relative ! # FIXME path to relative !
@ -155,9 +125,7 @@ class RougailOutputFormatter:
self.families[None][version_name] = None self.families[None][version_name] = None
self.families[None].yaml_value_comment_extend(version_name, [CommentToken('\n\n', CommentMark(0)), None]) self.families[None].yaml_value_comment_extend(version_name, [CommentToken('\n\n', CommentMark(0)), None])
version = None version = None
self.remaining = len(self.rougail.paths._data)
for path, obj in self.rougail.paths._data.items(): for path, obj in self.rougail.paths._data.items():
self.remaining -= 1
if version is None or version == '': if version is None or version == '':
version = obj.version version = obj.version
if path == self.rougail.namespace: if path == self.rougail.namespace:
@ -191,7 +159,7 @@ class RougailOutputFormatter:
else: else:
attributes = self.families_attributes attributes = self.families_attributes
for attr, default_value in attributes.items(): 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 continue
try: try:
value = getattr(obj, attr) value = getattr(obj, attr)
@ -214,16 +182,7 @@ class RougailOutputFormatter:
elif not set(family) - {'description'}: elif not set(family) - {'description'}:
# #
ret[name] = CommentedMap() ret[name] = CommentedMap()
add_column = 3 ret.yaml_add_eol_comment(family["description"] + '\n\n', name)
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)
else: else:
self.add_space(family) self.add_space(family)
ret[name] = family ret[name] = family
@ -245,7 +204,7 @@ class RougailOutputFormatter:
multi = obj.multi or isinstance(obj.default, list) multi = obj.multi or isinstance(obj.default, list)
type_ = obj.type type_ = obj.type
for attr, default_value in self.variables_attributes.items(): 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 continue
try: try:
value = getattr(obj, attr) value = getattr(obj, attr)
@ -279,42 +238,26 @@ class RougailOutputFormatter:
# if boolean, the default value is True # if boolean, the default value is True
del variable["type"] del variable["type"]
variable["default"] = True 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'}: if not isinstance(variable.get("default"), dict) and not set(variable) - {'default', 'description'}:
# shorthand notation # shorthand notation
default = variable.get('default') default = variable.get('default')
ret[name] = default ret[name] = default
add_column = 3
if isinstance(default, list): if isinstance(default, list):
ret[name] = CommentedSeq() ret[name] = CommentedSeq()
if not default:
add_column += 3
for d in default: for d in default:
ret[name].append(d) ret[name].append(d)
else:
if default is None:
ret[name] = ""
else: else:
ret[name] = default ret[name] = default
add_column += len(str(default)) + 1
if "description" in variable: if "description" in variable:
description = variable["description"] description = variable["description"]
if self.remaining and (not multi or not default): if not multi or not default:
description += "\n\n" description += "\n\n"
path_len = path.count('.') ret.yaml_add_eol_comment(description, name)
if self.rougail.namespace:
path_len -= 1
column = path_len * 2 + len(name) + add_column
ret.yaml_add_eol_comment(description, name, column=column)
if multi and default: if multi and default:
self.add_space(ret) self.add_space(ret)
else: else:
self.add_space(ret) self.add_space(ret)
else: else:
if "default" in variable and variable["default"] is None:
variable["default"] = ""
ret[name] = variable ret[name] = variable
self.add_space(variable) self.add_space(variable)
@ -328,17 +271,12 @@ class RougailOutputFormatter:
return _get_last_obj(o[param], o, param, 'seq') return _get_last_obj(o[param], o, param, 'seq')
return typ, parent, param return typ, parent, param
param = list(obj)[-1] 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') typ, parent, param = _get_last_obj(obj[param], obj, param, 'map')
if typ == 'seq': if typ == 'seq':
func = parent.yaml_key_comment_extend func = parent.yaml_key_comment_extend
else: else:
func = parent.yaml_value_comment_extend func = parent.yaml_value_comment_extend
if self.remaining: func(param, [CommentToken('\n\n', CommentMark(0)), None])
func(param, [CommentToken(enter, CommentMark(0)), None])
def object_to_yaml(self, key, type_, value, multi, object_path): def object_to_yaml(self, key, type_, value, multi, object_path):
if isinstance(value, list): if isinstance(value, list):
@ -355,18 +293,11 @@ class RougailOutputFormatter:
return new_values return new_values
if isinstance(value, JinjaCalculation): if isinstance(value, JinjaCalculation):
jinja = CommentedMap() 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: if key == 'default' and not multi:
jinja["jinja"] = FoldedScalarString(jinja_values) jinja["jinja"] = FoldedScalarString(jinja_values.replace('\n', ' '))
fold_pos = [] jinja["jinja"].fold_pos = [i for i, ltr in enumerate(jinja_values) if ltr == '\n']
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)
else: else:
jinja["jinja"] = LiteralScalarString(jinja_values) jinja["jinja"] = LiteralScalarString(jinja_values)
if value.return_type: if value.return_type:
@ -381,10 +312,8 @@ class RougailOutputFormatter:
variable = CommentedMap() variable = CommentedMap()
if isinstance(value, (IdentifierCalculation, IdentifierPropertyCalculation)): if isinstance(value, (IdentifierCalculation, IdentifierPropertyCalculation)):
variable["type"] = "identifier" variable["type"] = "identifier"
elif isinstance(value, IndexCalculation): if isinstance(value, IndexCalculation):
variable["type"] = "index" variable["type"] = "index"
elif isinstance(value, NamespaceCalculation):
variable["type"] = "namespace"
for key, default in variable_attributes.items(): for key, default in variable_attributes.items():
val = getattr(value, key) val = getattr(value, key)
if val != default and val is not undefined: if val != default and val is not undefined:
@ -395,17 +324,15 @@ class RougailOutputFormatter:
del variable["type"] del variable["type"]
return variable return variable
elif isinstance(value, Param): 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']: if list(param_attributes) == ['value']:
variable = value.value variable = value.value
else: else:
variable = CommentedMap() variable = CommentedMap()
if isinstance(value, IdentifierParam): if isinstance(value, IdentifierParam):
variable["type"] = "identifier" variable["type"] = "identifier"
elif isinstance(value, IndexParam): if isinstance(value, IndexParam):
variable["type"] = "index" variable["type"] = "index"
elif isinstance(value, NamespaceParam):
variable["type"] = "namespace"
for key, default in param_attributes.items(): for key, default in param_attributes.items():
val = getattr(value, key) val = getattr(value, key)
if val != default and val is not undefined: if val != default and val is not undefined:
@ -417,8 +344,6 @@ class RougailOutputFormatter:
return {value.key: variable} return {value.key: variable}
elif type_ == 'port' and isinstance(value, str) and value.isnumeric(): elif type_ == 'port' and isinstance(value, str) and value.isnumeric():
return int(value) return int(value)
elif key == 'help' and '\n' in value:
return LiteralScalarString(value)
return value return value
def calc_variable_path(self, object_path, variable_path): 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) 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 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 under the terms of the GNU Lesser General Public License as published by the
@ -29,14 +29,14 @@ load_unexist_redefine:
type: boolean type: boolean
default: default:
jinja: >- jinja: >-
{% if step.output is not propertyerror and step.output == 'formatter' %} {% if step.output == 'formatter' %}
true true
{% else %} {% else %}
false false
{% endif %} {% endif %}
hidden: hidden:
jinja: >- jinja: >-
{% if step.output is not propertyerror and step.output == 'formatter' %} {% if step.output == 'formatter' %}
load_unexist_redefine is always true with 'formatter' output load_unexist_redefine is always true with 'formatter' output
{% endif %} {% endif %}
""" """

View file

@ -4,7 +4,7 @@ Cadoles (http://www.cadoles.com)
Copyright (C) 2021 Copyright (C) 2021
Silique (https://www.silique.fr) 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 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 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: 1.1
version: # a variable version: # a variable
...

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -11,4 +10,3 @@ var2:
jinja: |- jinja: |-
{{ _.var1 }} {{ _.var1 }}
description: the value of var1 description: the value of var1
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -16,4 +15,3 @@ var2:
{{ val }} {{ val }}
{% endfor %} {% endfor %}
description: the value of _.var1 description: the value of _.var1
...

View file

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

View file

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

View file

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

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -13,4 +12,3 @@ 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 version: 1.1
@ -6,4 +5,3 @@ variable:
description: a variable description: a variable
mandatory: false mandatory: false
default: true default: true
...

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -12,4 +11,3 @@ var:
return_type: number return_type: number
description: choices is 0 to 9 description: choices is 0 to 9
default: 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,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -12,4 +11,3 @@ var2:
choices: choices:
variable: _.var1 variable: _.var1
default: a 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 version: 1.1
@ -10,4 +9,3 @@ custom2:
description: the seconf variable description: the seconf variable
type: custom type: custom
default: value default: value
...

View file

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

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -13,4 +12,3 @@ 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,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -13,4 +12,3 @@ 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 version: 1.1
@ -15,4 +14,3 @@ variable3:
description: a port variable with integer default value description: a port variable with integer default value
type: port type: port
default: 8080 default: 8080
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -9,4 +8,3 @@ var:
- '#b2b2b2' - '#b2b2b2'
regexp: ^#(?:[0-9a-f]{3}){1,2}$ regexp: ^#(?:[0-9a-f]{3}){1,2}$
default: '#a1a1a1' 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,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -13,4 +12,3 @@ 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 version: 1.1
@ -10,4 +9,3 @@ var:
- quote" - quote"
- quote"' - quote"'
default: 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 version: 1.1
@ -9,4 +8,3 @@ var1:
var2: var2:
description: the second variable description: the second variable
help: message with " 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 version: 1.1
variable: quote" # a variable variable: quote" # a variable
...

View file

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

View file

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

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -6,9 +5,8 @@ variable:
description: a variable description: a variable
default: default:
jinja: >- jinja: >-
{{ test_information }} {{test_information }}
description: get information test_information description: get information test_information
params: params:
test_information: test_information:
information: 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 version: 1.1
@ -22,7 +21,7 @@ var3:
var4: var4:
description: the forth variable description: the forth variable
test: test:
- null -
- test1 - test1
- test2 - test2
mandatory: false mandatory: false
@ -39,4 +38,3 @@ var6:
- test1 - test1
- test2 - test2
multi: true multi: true
...

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -13,4 +12,3 @@ my_variable:
- variable: _.source_variable_1 - variable: _.source_variable_1
- variable: _.source_variable_2 - variable: _.source_variable_2
default: val1 default: val1
...

View file

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

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -13,4 +12,3 @@ var2:
information: information:
information: test_information information: test_information
variable: _.var1 variable: _.var1
...

View file

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

View file

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

View file

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

View file

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

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -9,4 +8,3 @@ var2:
default: default:
information: test_information information: test_information
variable: _.var1 variable: _.var1
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -9,4 +8,3 @@ var2:
default: default:
information: test_information information: test_information
variable: _.var1 variable: _.var1
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -12,4 +11,3 @@ var:
return_type: number return_type: number
description: choice for 0 to 9 description: choice for 0 to 9
default: 9 default: 9
...

View file

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

View file

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

View file

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

View file

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

View file

@ -1,6 +1,4 @@
%YAML 1.2
--- ---
version: 1.1 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 version: 1.1
@ -6,4 +5,3 @@ variable:
description: a variable description: a variable
default: default:
variable: extra.variable variable: extra.variable
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -25,4 +24,3 @@ var7: # the seventh variable
var8: # the eighth variable var8: # the eighth variable
- true - true
...

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -25,4 +24,3 @@ var7: # the seventh variable
var8: # the eighth variable var8: # the eighth variable
- 0.0 - 0.0
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -25,4 +24,3 @@ var7: # the seventh variable
var8: # the eighth variable var8: # the eighth variable
- 0 - 0
...

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -22,4 +21,3 @@ var7: # the seventh variable
var8: # the eighth variable var8: # the eighth variable
- value - value
...

View file

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

View file

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

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -14,4 +13,3 @@ variable:
params: params:
test_information: test_information:
information: test_information_list information: test_information_list
...

View file

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

View file

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

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -9,4 +8,3 @@ var2:
default: default:
variable: _.var1 variable: _.var1
auto_save: true auto_save: true
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -17,4 +16,3 @@ var2:
_.var1 is yes _.var1 is yes
{% endif %} {% endif %}
description: only if the variable var1 has value "yes" description: only if the variable var1 has value "yes"
...

View file

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

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -17,4 +16,3 @@ var3:
{% if _.var1 == 'value' or _.var2 == 'blah' %} {% if _.var1 == 'value' or _.var2 == 'blah' %}
value value
{% endif %} {% endif %}
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -17,4 +16,3 @@ var3:
{% if _.var2 is propertyerror %} {% if _.var2 is propertyerror %}
value value
{% endif %} {% endif %}
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -21,4 +20,3 @@ variable2:
condition is yes condition is yes
{% endif %} {% endif %}
description: if condition is egal to "yes" description: if condition is egal to "yes"
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -29,4 +28,3 @@ var2:
condition is yes condition is yes
{% endif %} {% endif %}
description: if condition is yes 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,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -35,4 +34,3 @@ var2:
condition: condition:
variable: _.condition variable: _.condition
optional: true optional: true
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -8,4 +7,3 @@ variable:
description: a variable description: a variable
disabled: disabled:
variable: _.condition variable: _.condition
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -8,4 +7,3 @@ variable:
description: a variable description: a variable
disabled: disabled:
variable: _.condition variable: _.condition
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -9,4 +8,3 @@ variable:
disabled: disabled:
variable: _.condition variable: _.condition
when: yes when: yes
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -9,4 +8,3 @@ variable:
disabled: disabled:
variable: _.condition variable: _.condition
when_not: yes 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,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -23,4 +22,3 @@ var2:
condition is yes condition is yes
{% endif %} {% endif %}
description: if condition is yes description: if condition is yes
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -29,4 +28,3 @@ var2:
condition is yes condition is yes
{% endif %} {% endif %}
description: if condition is yes description: if condition is yes
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -29,4 +28,3 @@ var2:
condition is yes condition is yes
{% endif %} {% endif %}
description: if condition is yes description: if condition is yes
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -11,4 +10,3 @@ int:
value is too high value is too high
{% endif %} {% endif %}
description: the max value is 100 description: the max value is 100
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -15,4 +14,3 @@ var1:
default: oui default: oui
var2: no # A second variable var2: no # A second variable
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -13,4 +12,3 @@ var1:
default: default:
- no - no
- yes - yes
...

View file

@ -1,4 +1,3 @@
%YAML 1.2
--- ---
version: 1.1 version: 1.1
@ -20,4 +19,3 @@ var1:
default: default:
- no - no
- yes - yes
...

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