28 lines
1.1 KiB
Python
28 lines
1.1 KiB
Python
from os.path import exists
|
|
from tiramisu import FilenameOption, BoolOption, OptionDescription, Leadership, \
|
|
Config, Calculation, Params, ParamOption, ParamValue, calc_value
|
|
from tiramisu.error import PropertiesOptionError, ConfigError
|
|
|
|
|
|
def inverse(exists_):
|
|
return not exists_
|
|
|
|
|
|
filename = FilenameOption('filename',
|
|
'Filename',
|
|
multi=True,
|
|
properties=('mandatory',))
|
|
exists_ = BoolOption('exists',
|
|
'This file exists',
|
|
Calculation(exists, Params(ParamOption(filename))),
|
|
multi=True,
|
|
properties=('frozen', 'force_default_on_freeze', 'advanced'))
|
|
create = BoolOption('create',
|
|
'Create automaticly the file',
|
|
multi=True,
|
|
default_multi=Calculation(inverse, Params(ParamOption(exists_))))
|
|
new = Leadership('new',
|
|
'Add new file',
|
|
[filename, exists_, create])
|
|
root = OptionDescription('root', 'root', [new])
|
|
config = Config(root)
|