manage description in family
This commit is contained in:
parent
74898b1ed7
commit
5bfa3132e7
12 changed files with 73 additions and 2 deletions
|
@ -120,7 +120,11 @@ class VariableAnnotator: # pylint: disable=R0903
|
||||||
families.doc = families.name
|
families.doc = families.name
|
||||||
families.path = families.name
|
families.path = families.name
|
||||||
for family in families.family.values():
|
for family in families.family.values():
|
||||||
family.doc = family.name
|
if not hasattr(family, 'description'):
|
||||||
|
family.description = family.name
|
||||||
|
for key, value in RENAME_ATTIBUTES.items():
|
||||||
|
setattr(family, value, getattr(family, key))
|
||||||
|
setattr(family, key, None)
|
||||||
family.name = normalize_family(family.name)
|
family.name = normalize_family(family.name)
|
||||||
if not hasattr(family, 'variable'):
|
if not hasattr(family, 'variable'):
|
||||||
continue
|
continue
|
||||||
|
|
|
@ -299,7 +299,7 @@ class Variable(Common):
|
||||||
value = getattr(self.elt, key)
|
value = getattr(self.elt, key)
|
||||||
if key in FORCE_INFORMATIONS:
|
if key in FORCE_INFORMATIONS:
|
||||||
if key == 'test': # pragma: no cover
|
if key == 'test': # pragma: no cover
|
||||||
value = value.split(',')
|
value = value.split('|')
|
||||||
if self.object_type == 'IntOption':
|
if self.object_type == 'IntOption':
|
||||||
value = [int(v) for v in value]
|
value = [int(v) for v in value]
|
||||||
elif self.object_type == 'FloatOption':
|
elif self.object_type == 'FloatOption':
|
||||||
|
|
12
tests/dictionaries/01family_description/00-base.xml
Normal file
12
tests/dictionaries/01family_description/00-base.xml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version='1.0' encoding='UTF-8'?>
|
||||||
|
<rougail>
|
||||||
|
<variables>
|
||||||
|
<family name="general" description="Other description">
|
||||||
|
<variable name="mode_conteneur_actif">
|
||||||
|
<value>non</value>
|
||||||
|
</variable>
|
||||||
|
</family>
|
||||||
|
</variables>
|
||||||
|
</rougail>
|
||||||
|
<!-- vim: ts=4 sw=4 expandtab
|
||||||
|
-->
|
0
tests/dictionaries/01family_description/__init__.py
Normal file
0
tests/dictionaries/01family_description/__init__.py
Normal file
|
@ -0,0 +1 @@
|
||||||
|
{"rougail.general.mode_conteneur_actif": "non"}
|
18
tests/dictionaries/01family_description/tiramisu/base.py
Normal file
18
tests/dictionaries/01family_description/tiramisu/base.py
Normal file
|
@ -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 *
|
||||||
|
from rougail.tiramisu import ConvertDynOptionDescription
|
||||||
|
option_3 = StrOption(properties=frozenset({'mandatory', 'normal'}), name='mode_conteneur_actif', doc='mode_conteneur_actif', multi=False, default='non')
|
||||||
|
option_2 = OptionDescription(name='general', doc='Other description', properties=frozenset({'normal'}), children=[option_3])
|
||||||
|
option_1 = OptionDescription(name='rougail', doc='rougail', children=[option_2])
|
||||||
|
option_0 = OptionDescription(name='baseoption', doc='baseoption', children=[option_1])
|
15
tests/dictionaries/20family_dynamic_description/00-base.xml
Normal file
15
tests/dictionaries/20family_dynamic_description/00-base.xml
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
|
||||||
|
<rougail>
|
||||||
|
<variables>
|
||||||
|
<family name='general'>
|
||||||
|
<variable name='varname' type='string' description="No change" multi="True">
|
||||||
|
<value>val1</value>
|
||||||
|
<value>val2</value>
|
||||||
|
</variable>
|
||||||
|
</family>
|
||||||
|
<family name='dyn' description='Dyn ' dynamic="varname">
|
||||||
|
<variable name='vardyn' type='string' description="No change"/>
|
||||||
|
</family>
|
||||||
|
</variables>
|
||||||
|
</rougail>
|
|
@ -0,0 +1 @@
|
||||||
|
{"rougail.general.varname": ["val1", "val2"], "rougail.dynval1.vardynval1": null, "rougail.dynval2.vardynval2": null}
|
|
@ -0,0 +1,20 @@
|
||||||
|
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 *
|
||||||
|
from rougail.tiramisu import ConvertDynOptionDescription
|
||||||
|
option_3 = StrOption(properties=frozenset({'mandatory', 'normal'}), name='varname', doc='No change', multi=True, default=['val1', 'val2'], default_multi='val2')
|
||||||
|
option_2 = OptionDescription(name='general', doc='general', properties=frozenset({'normal'}), children=[option_3])
|
||||||
|
option_5 = StrOption(properties=frozenset({'normal'}), name='vardyn', doc='No change', multi=False)
|
||||||
|
option_4 = ConvertDynOptionDescription(name='dyn', doc='Dyn ', suffixes=Calculation(func.calc_value, Params((ParamOption(option_3)))), properties=frozenset({'normal'}), children=[option_5])
|
||||||
|
option_1 = OptionDescription(name='rougail', doc='rougail', children=[option_2, option_4])
|
||||||
|
option_0 = OptionDescription(name='baseoption', doc='baseoption', children=[option_1])
|
Loading…
Reference in a new issue