Compare commits
3 commits
bae0368356
...
8f5ce6999f
| Author | SHA1 | Date | |
|---|---|---|---|
| 8f5ce6999f | |||
| 6e3235f649 | |||
| ff78033c9a |
12 changed files with 80 additions and 10 deletions
10
CHANGELOG.md
10
CHANGELOG.md
|
|
@ -1,3 +1,13 @@
|
|||
## 0.1.0a21 (2025-11-06)
|
||||
|
||||
### Feat
|
||||
|
||||
- add some tests
|
||||
|
||||
### Fix
|
||||
|
||||
- always remove choice type + support warnings
|
||||
|
||||
## 0.1.0a20 (2025-11-03)
|
||||
|
||||
### Feat
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ requires = ["flit_core >=3.8.0,<4"]
|
|||
|
||||
[project]
|
||||
name = "rougail.output_formatter"
|
||||
version = "0.1.0a20"
|
||||
version = "0.1.0a21"
|
||||
authors = [{name = "Emmanuel Garette", email = "gnunux@gnunux.info"}]
|
||||
readme = "README.md"
|
||||
description = "Rougail output formatter"
|
||||
|
|
|
|||
|
|
@ -152,8 +152,6 @@ class RougailOutputFormatter:
|
|||
|
||||
def get_attributes(self, obj, excludes=[]) -> dict:
|
||||
type_name = obj.__name__
|
||||
if type_name == "Variable" and excludes == []:
|
||||
raise Exception("pff")
|
||||
if type_name not in self.attributes:
|
||||
self.attributes[type_name] = {
|
||||
str(attr): o.default
|
||||
|
|
@ -392,8 +390,6 @@ class RougailOutputFormatter:
|
|||
and isinstance(variable["default"], list)
|
||||
):
|
||||
del variable["multi"]
|
||||
elif variable.get("type") == "choice" and "choices" in variable:
|
||||
del variable["type"]
|
||||
elif variable.get("type") == "string":
|
||||
# default type is string
|
||||
del variable["type"]
|
||||
|
|
@ -404,6 +400,8 @@ class RougailOutputFormatter:
|
|||
# if boolean, the default value is True
|
||||
del variable["type"]
|
||||
variable["default"] = True
|
||||
if variable.get("type") == "choice" and "choices" in variable:
|
||||
del variable["type"]
|
||||
if (
|
||||
"default" not in variable
|
||||
and variable.get("multi") is True
|
||||
|
|
@ -528,6 +526,8 @@ class RougailOutputFormatter:
|
|||
jinja["description"] = LiteralScalarString(value.description.strip())
|
||||
else:
|
||||
jinja["description"] = value.description.strip()
|
||||
if value.warnings:
|
||||
jinja["warnings"] = True
|
||||
if value.params:
|
||||
jinja["params"] = self.object_to_yaml(
|
||||
"params", type_, value.params, multi, object_path
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
__version__ = "0.1.0a20"
|
||||
__version__ = "0.1.0a21"
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ version: 1.1
|
|||
|
||||
var:
|
||||
description: A choice
|
||||
type: choice
|
||||
choices:
|
||||
- quote'
|
||||
- quote"
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ source_variable_2: val2 # the second source variable
|
|||
|
||||
my_variable:
|
||||
description: a variable
|
||||
type: choice
|
||||
choices:
|
||||
- variable: _.source_variable_1
|
||||
- variable: _.source_variable_2
|
||||
|
|
|
|||
15
tests/results/04_5validators_warnings/rougail/00-base.yml
Normal file
15
tests/results/04_5validators_warnings/rougail/00-base.yml
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
%YAML 1.2
|
||||
---
|
||||
version: 1.1
|
||||
|
||||
int:
|
||||
description: An integer
|
||||
validators:
|
||||
- jinja: |-
|
||||
{% if _.int > 100 %}
|
||||
value is too high
|
||||
{% endif %}
|
||||
description: the max value is 100
|
||||
warnings: true
|
||||
default: 1000
|
||||
...
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
%YAML 1.2
|
||||
---
|
||||
version: 1.1
|
||||
|
||||
int:
|
||||
description: An integer
|
||||
params:
|
||||
min_integer: 10
|
||||
max_integer: 100
|
||||
warnings: true
|
||||
default: 1000
|
||||
...
|
||||
|
|
@ -4,7 +4,6 @@ version: 1.1
|
|||
|
||||
var:
|
||||
description: A choice
|
||||
type: choice
|
||||
choices:
|
||||
- a
|
||||
- b
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
%YAML 1.2
|
||||
---
|
||||
version: 1.1
|
||||
|
||||
dyn{{ identifier }}:
|
||||
description: A dynamic famify for {{ identifier }}
|
||||
dynamic:
|
||||
- val1
|
||||
- val2
|
||||
|
||||
var1: # A dynamic variable
|
||||
|
||||
var2:
|
||||
description: A new variable
|
||||
disabled:
|
||||
variable: _.var1
|
||||
when: val1
|
||||
...
|
||||
|
|
@ -0,0 +1,18 @@
|
|||
%YAML 1.2
|
||||
---
|
||||
version: 1.1
|
||||
|
||||
dyn{{ identifier }}:
|
||||
description: A dynamic famify for {{ identifier }}
|
||||
dynamic:
|
||||
- val1
|
||||
- val2
|
||||
|
||||
var1: # A dynamic variable
|
||||
|
||||
var2:
|
||||
description: A new variable
|
||||
disabled:
|
||||
variable: _.dynval1.var1
|
||||
when: val1
|
||||
...
|
||||
|
|
@ -15,7 +15,7 @@ excludes = [
|
|||
]
|
||||
|
||||
test_ok = get_structures_list(excludes)
|
||||
# test_ok = [Path('../rougail-tests/structures/60_6family_dynamic_sub_dynamic_1_0_2')]
|
||||
# test_ok = [Path('../rougail-tests/structures/04_5validators_warnings')]
|
||||
|
||||
|
||||
def idfn(fixture_value):
|
||||
|
|
|
|||
Loading…
Reference in a new issue