diff --git a/doc/README.md b/doc/README.md index 30b7b505..b96b0edc 100644 --- a/doc/README.md +++ b/doc/README.md @@ -43,3 +43,7 @@ FIXME expliquer les noms des variables dans les extras ## Les templates - Type creole + + +FIXME : +- une variable avec nom unique sauf pour extra diff --git a/doc/condition.rst b/doc/condition.rst deleted file mode 100644 index 4790927a..00000000 --- a/doc/condition.rst +++ /dev/null @@ -1,13 +0,0 @@ -FIXME - - - - - - - - - - - -on peut mettre plusieurs param (oui ou maybe) diff --git a/doc/target/variable.md b/doc/target/variable.md index 1fd60b1e..ee6bc1ef 100644 --- a/doc/target/variable.md +++ b/doc/target/variable.md @@ -1,4 +1,4 @@ -# Cible de la fonction de type "variable" +# Cible de type "variable" Par défaut une cible est de type variable. diff --git a/src/rougail/annotator/condition.py b/src/rougail/annotator/condition.py index 4286872c..382cf0bc 100644 --- a/src/rougail/annotator/condition.py +++ b/src/rougail/annotator/condition.py @@ -190,6 +190,9 @@ class ConditionAnnotator(TargetAnnotator, ParamAnnotator, Walk): listvars, fills, ) + elif not target.optional: + msg = f'cannot found target "{target.type}" "{target.name}"' + raise DictConsistencyError(_(msg), 2, target.xmlfiles) remove_targets.append(target_idx) remove_targets.sort(reverse=True) for target_idx in remove_targets: diff --git a/src/rougail/annotator/target.py b/src/rougail/annotator/target.py index 4ab3d0bb..2efb24ad 100644 --- a/src/rougail/annotator/target.py +++ b/src/rougail/annotator/target.py @@ -74,7 +74,7 @@ class TargetAnnotator: raise err # for optional variable if not target.optional: - msg = f'cannot found target "{target.name}"' + msg = f'cannot found target "{target.type}" "{target.name}"' raise DictConsistencyError(_(msg), 12, target.xmlfiles) from err remove_targets.append(index) remove_targets.sort(reverse=True) diff --git a/tests/dictionaries/10load_disabled_if_in/00-base.xml b/tests/dictionaries/10load_disabled_if_in/00-base.xml index 36b71329..5787099c 100644 --- a/tests/dictionaries/10load_disabled_if_in/00-base.xml +++ b/tests/dictionaries/10load_disabled_if_in/00-base.xml @@ -19,7 +19,6 @@ oui mode_conteneur_actif mode_conteneur_actif2 - afilllist diff --git a/tests/dictionaries/10load_disabled_if_in_list_optional/00-base.xml b/tests/dictionaries/10load_disabled_if_in_list_optional/00-base.xml new file mode 100644 index 00000000..93c47bef --- /dev/null +++ b/tests/dictionaries/10load_disabled_if_in_list_optional/00-base.xml @@ -0,0 +1,15 @@ + + + + + + + + + True + unknown + + + + diff --git a/tests/dictionaries/10load_disabled_if_in_list_optional/__init__.py b/tests/dictionaries/10load_disabled_if_in_list_optional/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/dictionaries/10load_disabled_if_in_list_optional/makedict/base.json b/tests/dictionaries/10load_disabled_if_in_list_optional/makedict/base.json new file mode 100644 index 00000000..9da78c4c --- /dev/null +++ b/tests/dictionaries/10load_disabled_if_in_list_optional/makedict/base.json @@ -0,0 +1 @@ +{"rougail.condition": true} diff --git a/tests/dictionaries/10load_disabled_if_in_list_optional/tiramisu/base.py b/tests/dictionaries/10load_disabled_if_in_list_optional/tiramisu/base.py new file mode 100644 index 00000000..b73e0e6f --- /dev/null +++ b/tests/dictionaries/10load_disabled_if_in_list_optional/tiramisu/base.py @@ -0,0 +1,16 @@ +from importlib.machinery import SourceFileLoader +from importlib.util import spec_from_loader, module_from_spec +loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py') +spec = spec_from_loader(loader.name, loader) +func = module_from_spec(spec) +loader.exec_module(func) +for key, value in dict(locals()).items(): + if key != ['SourceFileLoader', 'func']: + setattr(func, key, value) +try: + from tiramisu3 import * +except: + from tiramisu import * +option_2 = BoolOption(name="condition", doc="condition", default=True, properties=frozenset({"mandatory", "normal"})) +option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2]) +option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1]) diff --git a/tests/dictionaries/10load_disabled_if_in_none/00-base.xml b/tests/dictionaries/10load_disabled_if_in_none/00-base.xml index fc5fa443..7a59f9e0 100644 --- a/tests/dictionaries/10load_disabled_if_in_none/00-base.xml +++ b/tests/dictionaries/10load_disabled_if_in_none/00-base.xml @@ -19,7 +19,6 @@ mode_conteneur_actif mode_conteneur_actif2 - afilllist diff --git a/tests/dictionaries/10load_disabledifin_fallback/00-base.xml b/tests/dictionaries/10load_disabledifin_fallback/00-base.xml index d9441910..c00f0ca0 100644 --- a/tests/dictionaries/10load_disabledifin_fallback/00-base.xml +++ b/tests/dictionaries/10load_disabledifin_fallback/00-base.xml @@ -19,7 +19,6 @@ oui mode_conteneur_actif mode_conteneur_actif2 - afilllist non diff --git a/tests/dictionaries/10load_disabledifin_fallback_force/00-base.xml b/tests/dictionaries/10load_disabledifin_fallback_force/00-base.xml index 92ae75cb..3fbfe19c 100644 --- a/tests/dictionaries/10load_disabledifin_fallback_force/00-base.xml +++ b/tests/dictionaries/10load_disabledifin_fallback_force/00-base.xml @@ -19,7 +19,6 @@ oui mode_conteneur_actif mode_conteneur_actif2 - afilllist non diff --git a/tests/dictionaries/10load_disabledifin_whithouttype/00-base.xml b/tests/dictionaries/10load_disabledifin_whithouttype/00-base.xml index 2208cca2..bad3f6cd 100644 --- a/tests/dictionaries/10load_disabledifin_whithouttype/00-base.xml +++ b/tests/dictionaries/10load_disabledifin_whithouttype/00-base.xml @@ -19,7 +19,6 @@ oui mode_conteneur_actif mode_conteneur_actif2 - afilllist diff --git a/tests/dictionaries/40condition_optional_family/00-base.xml b/tests/dictionaries/40condition_optional_family/00-base.xml new file mode 100644 index 00000000..f93ac940 --- /dev/null +++ b/tests/dictionaries/40condition_optional_family/00-base.xml @@ -0,0 +1,19 @@ + + + + + + + + + + + + True + general + general2 + + + + diff --git a/tests/dictionaries/40condition_optional_family/__init__.py b/tests/dictionaries/40condition_optional_family/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/dictionaries/40condition_optional_family/makedict/base.json b/tests/dictionaries/40condition_optional_family/makedict/base.json new file mode 100644 index 00000000..9da78c4c --- /dev/null +++ b/tests/dictionaries/40condition_optional_family/makedict/base.json @@ -0,0 +1 @@ +{"rougail.condition": true} diff --git a/tests/dictionaries/40condition_optional_family/tiramisu/base.py b/tests/dictionaries/40condition_optional_family/tiramisu/base.py new file mode 100644 index 00000000..c6650f5b --- /dev/null +++ b/tests/dictionaries/40condition_optional_family/tiramisu/base.py @@ -0,0 +1,18 @@ +from importlib.machinery import SourceFileLoader +from importlib.util import spec_from_loader, module_from_spec +loader = SourceFileLoader('func', 'tests/dictionaries/../eosfunc/test.py') +spec = spec_from_loader(loader.name, loader) +func = module_from_spec(spec) +loader.exec_module(func) +for key, value in dict(locals()).items(): + if key != ['SourceFileLoader', 'func']: + setattr(func, key, value) +try: + from tiramisu3 import * +except: + from tiramisu import * +option_2 = BoolOption(name="condition", doc="condition", default=True, properties=frozenset({"mandatory", "normal"})) +option_4 = StrOption(name="my_variable", doc="my_variable", properties=frozenset({"normal"})) +option_3 = OptionDescription(name="general", doc="general", children=[option_4], properties=frozenset({"normal", Calculation(func.calc_value, Params(ParamValue('disabled'), kwargs={'condition': ParamOption(option_2, todict=True), 'expected': ParamValue(True)}))})) +option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3]) +option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1]) diff --git a/tests/dictionaries/80target_list_unknown/00-base.xml b/tests/dictionaries/80target_list_unknown/00-base.xml new file mode 100644 index 00000000..dde2b553 --- /dev/null +++ b/tests/dictionaries/80target_list_unknown/00-base.xml @@ -0,0 +1,15 @@ + + + + + + + + + True + unknown + + + + diff --git a/tests/dictionaries/80target_list_unknown/__init__.py b/tests/dictionaries/80target_list_unknown/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/dictionaries/80target_list_unknown/errno_2 b/tests/dictionaries/80target_list_unknown/errno_2 new file mode 100644 index 00000000..e69de29b