74 lines
2.9 KiB
Python
74 lines
2.9 KiB
Python
|
from tiramisu import Config, OptionDescription, Leadership, IntOption, Params, ParamOption, ParamValue, ParamContext, ParamIndex
|
||
|
|
||
|
def a_function():
|
||
|
pass
|
||
|
Calculation(a_function)
|
||
|
|
||
|
|
||
|
def a_function_with_parameters(value1, value2):
|
||
|
return value1 + ' ' + value2
|
||
|
Calculation(a_function_with_parameters, Params(ParamValue('my value 1'), kwargs={value2: ParamValue('my value 2')}))
|
||
|
|
||
|
|
||
|
def a_function_with_parameters(value1, value2):
|
||
|
return value1 + ' ' + value2
|
||
|
Calculation(a_function_with_parameters, Params((ParamValue('my value 1'), ParamValue('my value 2'))))
|
||
|
|
||
|
|
||
|
def a_function_with_option(option1):
|
||
|
return option1
|
||
|
option1 = IntOption('option1', 'first option', 1)
|
||
|
Calculation(a_function_with_option, Params(ParamOption(option1)))
|
||
|
|
||
|
|
||
|
def a_function_with_option(option1):
|
||
|
return option1
|
||
|
option1 = IntOption('option1', 'first option', 1, properties=('disabled',))
|
||
|
Calculation(a_function_with_option, Params(ParamOption(option1)))
|
||
|
|
||
|
def a_function_with_option(option1):
|
||
|
return option1
|
||
|
Calculation(a_function_with_option, Params(ParamOption(option1, raisepropertyerror=True)))
|
||
|
|
||
|
def a_function_with_option(option1=None):
|
||
|
return option1
|
||
|
Calculation(a_function_with_option, Params(ParamOption(option1, notraisepropertyerror=True)))
|
||
|
|
||
|
def a_function_with_dict_option(option1):
|
||
|
return "the option {} has value {}".format(option1['name'], option1['value'])
|
||
|
Calculation(a_function_with_option, Params(ParamOption(todict=True)))
|
||
|
|
||
|
|
||
|
def a_function_with_context(context):
|
||
|
pass
|
||
|
Calculation(a_function_with_context, Params(ParamContext()))
|
||
|
|
||
|
def a_function_multi(option1):
|
||
|
return option1
|
||
|
option1 = IntOption('option1', 'option1', [1], multi=True)
|
||
|
Calculation(a_function, Params(ParamOption(option1)))
|
||
|
|
||
|
def a_function_leader(option):
|
||
|
return option
|
||
|
leader = IntOption('leader', 'leader', [1], multi=True)
|
||
|
follower1 = IntOption('follower1', 'follower1', default_multi=2, multi=True)
|
||
|
follower2 = IntOption('follower2', 'follower2', default_multi=3, multi=True)
|
||
|
leadership = Leadership('leadership', 'leadership', [leader, follower1, follower2])
|
||
|
Calculation(a_function_leader, Params(ParamOption(leader)))
|
||
|
|
||
|
def a_function_follower(follower):
|
||
|
return follower
|
||
|
leader = IntOption('leader', 'leader', [1], multi=True)
|
||
|
follower1 = IntOption('follower1', 'follower1', default_multi=2, multi=True)
|
||
|
follower2 = IntOption('follower2', 'follower2', default_multi=3, multi=True)
|
||
|
leadership = Leadership('leadership', 'leadership', [leader, follower1, follower2])
|
||
|
Calculation(a_function_follower, Params(ParamOption(follower1)))
|
||
|
|
||
|
def a_function_index(index):
|
||
|
return index
|
||
|
leader = IntOption('leader', 'leader', [1], multi=True)
|
||
|
follower1 = IntOption('follower1', 'follower1', default_multi=2, multi=True)
|
||
|
follower2 = IntOption('follower2', 'follower2', default_multi=3, multi=True)
|
||
|
leadership = Leadership('leadership', 'leadership', [leader, follower1, follower2])
|
||
|
Calculation(a_function_index, Params(ParamIndex()))
|