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)
|
- string : chaine de caractère (type par défaut)
|
||||||
- number : un nombre
|
- number : un nombre
|
||||||
- float : un chiffre flottant
|
- 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
|
- password : un mot de passe
|
||||||
- mail : une adresse mail
|
- mail : une adresse mail
|
||||||
- filename : nom de fichier au sens Unix (exemple : "/etc/passwd")
|
- 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"/>
|
<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
|
## Valeur par défaut d'une variable
|
||||||
|
|
||||||
Il est possible de fixer les valeurs 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':
|
if value.type == 'calculation':
|
||||||
has_value = False
|
has_value = False
|
||||||
break
|
break
|
||||||
if has_value:
|
if has_value and 'mandatory' not in vars(variable):
|
||||||
# if has value without any calculation
|
# if has value without any calculation
|
||||||
variable.mandatory = True
|
variable.mandatory = True
|
||||||
if not hasattr(variable, 'value'):
|
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