we can force mandatory to False
This commit is contained in:
parent
2ca7b9a6fc
commit
54bf1c35a7
6 changed files with 35 additions and 2 deletions
|
@ -36,7 +36,7 @@ Une variable a un type. Ce type permet de définir les valeurs acceptées par ce
|
|||
- string : chaine de caractère (type par défaut)
|
||||
- number : un nombre
|
||||
- float : un chiffre flottant
|
||||
- boolean : "True" ou "False", si aucune valeur n'est défini la valeur par défaut de cette variable sera "True"
|
||||
- boolean : "True" ou "False", si aucune valeur n'est défini la valeur par défaut de cette variable sera "True", ces variables sont également obligatoire par défaut
|
||||
- password : un mot de passe
|
||||
- mail : une adresse mail
|
||||
- filename : nom de fichier au sens Unix (exemple : "/etc/passwd")
|
||||
|
@ -107,6 +107,12 @@ Variable dont une valeur est requise :
|
|||
<variable name="my_variable" mandatory="True"/>
|
||||
```
|
||||
|
||||
Les variables booléans sont par défaut obligatoire. Pour qu'une variable booléan ne soit pas obligatoire il faut le préciser explicitement :
|
||||
|
||||
```
|
||||
<variable name="my_variable" type="boolean" mandatory="False"/>
|
||||
```
|
||||
|
||||
## Valeur par défaut d'une variable
|
||||
|
||||
Il est possible de fixer les valeurs par défaut d'une variable :
|
||||
|
|
|
@ -73,7 +73,7 @@ class ValueAnnotator(Walk): # pylint: disable=R0903
|
|||
if value.type == 'calculation':
|
||||
has_value = False
|
||||
break
|
||||
if has_value:
|
||||
if has_value and 'mandatory' not in vars(variable):
|
||||
# if has value without any calculation
|
||||
variable.mandatory = True
|
||||
if not hasattr(variable, 'value'):
|
||||
|
|
8
tests/dictionaries/01boolean_no_mandatory/00-base.xml
Normal file
8
tests/dictionaries/01boolean_no_mandatory/00-base.xml
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version='1.0' encoding='UTF-8'?>
|
||||
<rougail version="0.9">
|
||||
<variables>
|
||||
<variable name="my_variable" type="boolean" mandatory="False"/>
|
||||
</variables>
|
||||
</rougail>
|
||||
<!-- vim: ts=4 sw=4 expandtab
|
||||
-->
|
0
tests/dictionaries/01boolean_no_mandatory/__init__.py
Normal file
0
tests/dictionaries/01boolean_no_mandatory/__init__.py
Normal file
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"rougail.my_variable": true
|
||||
}
|
16
tests/dictionaries/01boolean_no_mandatory/tiramisu/base.py
Normal file
16
tests/dictionaries/01boolean_no_mandatory/tiramisu/base.py
Normal file
|
@ -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="my_variable", doc="my_variable", default=True, properties=frozenset({"normal"}))
|
||||
option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
|
||||
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
|
Loading…
Reference in a new issue