From 134cc45c81a2ea2ae97ae2e004d46cb061ce2312 Mon Sep 17 00:00:00 2001 From: gwen Date: Thu, 11 Jul 2024 17:13:28 +0200 Subject: [PATCH] sub attributes not allowed --- src/rougail/tiramisureflector.py | 4 ++- .../readme.txt | 32 ------------------- 2 files changed, 3 insertions(+), 33 deletions(-) delete mode 100644 tests/dictionaries/90_optional_parameter_in_variable_default/readme.txt diff --git a/src/rougail/tiramisureflector.py b/src/rougail/tiramisureflector.py index 7c7327c0c..571207616 100644 --- a/src/rougail/tiramisureflector.py +++ b/src/rougail/tiramisureflector.py @@ -478,7 +478,9 @@ class Variable(Common): keys["default"] = self.populate_calculation(self.elt.default) except VariableCalculationDependencyError: pass - # mettre dans tous les populate_calculation() + for attribute in ['frozen', 'hidden', "mandatory", "disabled"]: + if hasattr(self.elt, attribute): + raise DictConsistencyError(f"Sub-attributes not allowed in a '{attribute}' attribute", 100, self.elt.xmlfiles) if self.elt.path in self.objectspace.default_multi: try: keys["default_multi"] = self.populate_calculation( diff --git a/tests/dictionaries/90_optional_parameter_in_variable_default/readme.txt b/tests/dictionaries/90_optional_parameter_in_variable_default/readme.txt deleted file mode 100644 index bd641280c..000000000 --- a/tests/dictionaries/90_optional_parameter_in_variable_default/readme.txt +++ /dev/null @@ -1,32 +0,0 @@ - --- - version: 1.1 - var1: - default: - type: jinja - jinja: | - val - params: - var1: - type: variable - variable: _.var2 - optional: true - - - --- - version: 1.1 - var1: - default: - type: variable - variable: _.var2 - optional: true - ---- - le 1er dico fonctionne - si on fait une variable dans un parametre on peut la mettre optionnelle (si la variable est déclaré ca passe la variable en parametre, si la variable n'existe pas ca ne passe pas le parametre) - dans notre cas la variable n'existe pas donc ne passe pas le parametre - dans le 2eme ca on ne fait pas un calcul via jinja mais récupère directement la valeur de la variable - sauf que le optional n'existe pas pour un calcul (juste pour un parametre) - faudrait : - 1/ ajouter cette possibilité - voir s'il n'y a pas d'autres manque - (c'étaot ele 2)