provider support

This commit is contained in:
2021-12-10 23:35:44 +01:00
parent 757d9ec5c2
commit 8cf8c9b8eb
21 changed files with 212 additions and 15 deletions

View File

@ -0,0 +1,13 @@
<?xml version='1.0' encoding='UTF-8'?>
<rougail version="0.10">
<variables>
<family name="general">
<variable name="float" type="float" description="Description" provider="float">
<value>0.527</value>
</variable>
<variable name="float_multi" type="float" description="Description" multi="True">
<value>0.527</value>
</variable>
</family>
</variables>
</rougail>

View File

@ -0,0 +1,12 @@
{
"rougail.general.float": {
"owner": "default",
"value": 0.527
},
"rougail.general.float_multi": {
"owner": "default",
"value": [
0.527
]
}
}

View File

@ -0,0 +1,6 @@
{
"rougail.general.float": 0.527,
"rougail.general.float_multi": [
0.527
]
}

View File

@ -0,0 +1,12 @@
{
"rougail.general.float": {
"owner": "default",
"value": 0.527
},
"rougail.general.float_multi": {
"owner": "default",
"value": [
0.527
]
}
}

View File

@ -0,0 +1,22 @@
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
class func:
pass
_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 function in dir(_func):
if function.startswith('_'):
continue
setattr(func, function, getattr(_func, function))
try:
from tiramisu3 import *
except:
from tiramisu import *
option_3 = FloatOption(name="float", doc="Description", default=0.527, properties=frozenset({"mandatory", "normal"}))
option_4 = FloatOption(name="float_multi", doc="Description", multi=True, default=[0.527], default_multi=0.527, properties=frozenset({"mandatory", "normal"}))
option_2 = OptionDescription(name="general", doc="general", children=[option_3, option_4], properties=frozenset({"normal"}))
option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2])
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
option_0.impl_set_information('provider:float', "rougail.general.float")

View File

@ -0,0 +1,14 @@
<?xml version='1.0' encoding='UTF-8'?>
<rougail version="0.10">
<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" dynamic="varname">
<variable name="vardyn" type="string" description="No change" provider="dyn"/>
</family>
</variables>
</rougail>

View File

@ -0,0 +1,17 @@
{
"rougail.general.varname": {
"owner": "default",
"value": [
"val1",
"val2"
]
},
"rougail.dynval1.vardynval1": {
"owner": "default",
"value": null
},
"rougail.dynval2.vardynval2": {
"owner": "default",
"value": null
}
}

View File

@ -0,0 +1,8 @@
{
"rougail.general.varname": [
"val1",
"val2"
],
"rougail.dynval1.vardynval1": null,
"rougail.dynval2.vardynval2": null
}

View File

@ -0,0 +1,17 @@
{
"rougail.general.varname": {
"owner": "default",
"value": [
"val1",
"val2"
]
},
"rougail.dynval1.vardynval1": {
"owner": "default",
"value": null
},
"rougail.dynval2.vardynval2": {
"owner": "default",
"value": null
}
}

View File

@ -0,0 +1,24 @@
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
class func:
pass
_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 function in dir(_func):
if function.startswith('_'):
continue
setattr(func, function, getattr(_func, function))
try:
from tiramisu3 import *
except:
from tiramisu import *
from rougail.tiramisu import ConvertDynOptionDescription
option_3 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
option_5 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
option_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5], properties=frozenset({"normal"}))
option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
option_0.impl_set_information('provider:dyn', "rougail.dyn{suffix}.vardyn{suffix}")