refactor valid_enum

This commit is contained in:
2020-10-03 21:43:50 +02:00
parent 8f7fa59333
commit b55b8f4d9d
59 changed files with 182 additions and 166 deletions

View File

@ -0,0 +1,38 @@
<?xml version='1.0' encoding='UTF-8'?>
<rougail>
<services/>
<variables>
<family name="general" mode="expert">
<variable name="mode_conteneur_actif" type="oui/non" description="No change">
<value>non</value>
</variable>
</family>
<family name="enumfam" mode="expert">
<variable name="varmulti" type="string" description="multi" multi="True" hidden="True">
<value>test</value>
</variable>
<variable name="enumvar" type="string" description="multi">
<value>test</value>
</variable>
</family>
<separators/>
</variables>
<constraints>
<check name="valid_enum" target="enumvar">
<param type="variable">varmulti</param>
</check>
<fill name="calc_list" target="varmulti">
<param>test</param>
</fill>
</constraints>
<help>
<variable name="enumvar">bla bla bla</variable>
</help>
</rougail>
<!-- vim: ts=4 sw=4 expandtab
-->

View File

@ -0,0 +1 @@
{"rougail.general.mode_conteneur_actif": "non", "rougail.enumfam.enumvar": "test", "rougail.enumfam.varmulti": ["test"]}

View File

@ -0,0 +1,12 @@
from tiramisu import *
from rougail.tiramisu import ConvertDynOptionDescription
import imp
func = imp.load_source('func', 'tests/flattener_dicos/../eosfunc/test.py')
option_3 = ChoiceOption(properties=frozenset({'expert', 'mandatory'}), name='mode_conteneur_actif', doc='No change', multi=False, default='non', values=('oui', 'non'))
option_2 = OptionDescription(name='general', doc='general', properties=frozenset({'expert'}), children=[option_3])
option_5 = StrOption(properties=frozenset({'expert', 'force_default_on_freeze', 'frozen', 'hidden', 'mandatory'}), name='varmulti', doc='multi', multi=True, default=Calculation(func.calc_list, Params((ParamValue("test")), kwargs={})))
option_6 = ChoiceOption(properties=frozenset({'expert', 'mandatory'}), name='enumvar', doc='multi', multi=False, default='test', values=Calculation(func.calc_value, Params((ParamOption(option_5)))))
option_6.impl_set_information("help", "bla bla bla")
option_4 = OptionDescription(name='enumfam', doc='enumfam', properties=frozenset({'expert'}), children=[option_5, option_6])
option_1 = OptionDescription(name='rougail', doc='rougail', children=[option_2, option_4])
option_0 = OptionDescription(name='baseoption', doc='baseoption', children=[option_1])