From dfbcd84a006635344a54f2e8d4fba247644f9816 Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Fri, 2 May 2025 08:22:12 +0200 Subject: [PATCH] fix: support {{ suffix }} name in 1.1 format version --- src/rougail/output_formatter/__init__.py | 5 +++- .../rougail/00-base.yml | 23 ++++++++++++++++++ .../rougail/00-base.yml | 23 ++++++++++++++++++ .../rougail/00-base.yml | 18 ++++++++++++++ .../rougail/00-base.yml | 18 ++++++++++++++ .../04_5validators_multi3/rougail/00-base.yml | 22 +++++++++++++++++ .../rougail/00-base.yml | 24 +++++++++++++++++++ 7 files changed, 132 insertions(+), 1 deletion(-) create mode 100644 tests/results/04_1default_calculation_hidden_3/rougail/00-base.yml create mode 100644 tests/results/04_1default_calculation_hidden_4/rougail/00-base.yml create mode 100644 tests/results/04_1default_calculation_hidden_5/rougail/00-base.yml create mode 100644 tests/results/04_1default_calculation_hidden_6/rougail/00-base.yml create mode 100644 tests/results/04_5validators_multi3/rougail/00-base.yml create mode 100644 tests/results/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml diff --git a/src/rougail/output_formatter/__init__.py b/src/rougail/output_formatter/__init__.py index e9f55f6..d97362e 100644 --- a/src/rougail/output_formatter/__init__.py +++ b/src/rougail/output_formatter/__init__.py @@ -448,7 +448,10 @@ class RougailOutputFormatter: return y name = subpath.pop(0) if name not in y and name.endswith('{{ identifier }}'): - name = name[:-16] + search_name = name[:-16] + if search_name not in y: + search_name = name.replace("{{ identifier }}", "{{ suffix }}") + name = search_name return _yaml(y[name]) if self.main_namespace: subpath = path.split('.')[1:] diff --git a/tests/results/04_1default_calculation_hidden_3/rougail/00-base.yml b/tests/results/04_1default_calculation_hidden_3/rougail/00-base.yml new file mode 100644 index 0000000..ae6415d --- /dev/null +++ b/tests/results/04_1default_calculation_hidden_3/rougail/00-base.yml @@ -0,0 +1,23 @@ +%YAML 1.2 +--- +version: 1.1 + +var1: + description: a first variable + default: value + hidden: true + +var2: + description: a second variable + disabled: + variable: _.var1 + when: value + +var3: + description: a third variable + default: + jinja: >- + {% if _.var1 == 'value' or _.var2 == 'blah' %} + value + {% endif %} +... diff --git a/tests/results/04_1default_calculation_hidden_4/rougail/00-base.yml b/tests/results/04_1default_calculation_hidden_4/rougail/00-base.yml new file mode 100644 index 0000000..aa3a91d --- /dev/null +++ b/tests/results/04_1default_calculation_hidden_4/rougail/00-base.yml @@ -0,0 +1,23 @@ +%YAML 1.2 +--- +version: 1.1 + +var1: + description: a first variable + default: value + hidden: true + +var2: + description: a second variable + disabled: + variable: _.var1 + when_not: value + +var3: + description: a third variable + default: + jinja: >- + {% if _.var1 == 'value' or _.var2 == 'blah' %} + value + {% endif %} +... diff --git a/tests/results/04_1default_calculation_hidden_5/rougail/00-base.yml b/tests/results/04_1default_calculation_hidden_5/rougail/00-base.yml new file mode 100644 index 0000000..f4004ed --- /dev/null +++ b/tests/results/04_1default_calculation_hidden_5/rougail/00-base.yml @@ -0,0 +1,18 @@ +%YAML 1.2 +--- +version: 1.1 + +var1: value # a first variable + +var2: + description: a second variable + default: + variable: _.var1 + hidden: true + +var3: + description: a third variable + disabled: + variable: _.var2 + when: value +... diff --git a/tests/results/04_1default_calculation_hidden_6/rougail/00-base.yml b/tests/results/04_1default_calculation_hidden_6/rougail/00-base.yml new file mode 100644 index 0000000..901c6c1 --- /dev/null +++ b/tests/results/04_1default_calculation_hidden_6/rougail/00-base.yml @@ -0,0 +1,18 @@ +%YAML 1.2 +--- +version: 1.1 + +var1: value # a first variable + +var2: + description: a second variable + default: + variable: _.var1 + hidden: true + +var3: + description: a third variable + disabled: + variable: _.var2 + when_not: value +... diff --git a/tests/results/04_5validators_multi3/rougail/00-base.yml b/tests/results/04_5validators_multi3/rougail/00-base.yml new file mode 100644 index 0000000..c99c995 --- /dev/null +++ b/tests/results/04_5validators_multi3/rougail/00-base.yml @@ -0,0 +1,22 @@ +%YAML 1.2 +--- +version: 1.1 + +var1: + description: a second variable + test: + - 0 + validators: + - jinja: |- + {% if _.var1 != index %} + value != than index + {% endif %} + description: value must be equal to index + params: + index: + type: index + default: + - 0 + - 1 + - 2 +... diff --git a/tests/results/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml b/tests/results/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml new file mode 100644 index 0000000..f201b24 --- /dev/null +++ b/tests/results/60_6family_dynamic_sub_dynamic_1_0_2/rougail/00-base.yml @@ -0,0 +1,24 @@ +%YAML 1.2 +--- +version: 1.1 + +var: # A identifier variable + - val1 + - val2 + +'{{ identifier }}': + description: A dynamic family + dynamic: + variable: _.var + propertyerror: false + allow_none: true + + '{{ identifier }}': + description: A dynamic family + dynamic: + variable: __.var + propertyerror: false + allow_none: true + + var: # A dynamic variable +...