condition and check in makedict

This commit is contained in:
Emmanuel Garette 2019-11-27 15:03:05 +01:00
parent 4c84a8b89b
commit 5e3ff68325
45 changed files with 149 additions and 207 deletions

View file

@ -52,7 +52,8 @@ modes = mode_factory()
# a CreoleObjSpace's attribute has some annotations # a CreoleObjSpace's attribute has some annotations
# that shall not be present in the exported (flatened) XML # that shall not be present in the exported (flatened) XML
ERASED_ATTRIBUTES = ('redefine', 'exists', 'fallback', 'optional', 'remove_check', 'namespace', ERASED_ATTRIBUTES = ('redefine', 'exists', 'fallback', 'optional', 'remove_check', 'namespace',
'remove_condition', 'path', 'instance_mode', 'index', 'is_in_leadership') # , '_real_container') 'remove_condition', 'path', 'instance_mode', 'index', 'is_in_leadership',
'level') # , '_real_container')
ERASED_CONTAINER_ATTRIBUTES = ('id', 'container', 'group_id', 'group', 'container_group') ERASED_CONTAINER_ATTRIBUTES = ('id', 'container', 'group_id', 'group', 'container_group')
NOT_NEED_ACTIVATE = ('disknod',) NOT_NEED_ACTIVATE = ('disknod',)
@ -1036,13 +1037,11 @@ class SpaceAnnotator(object):
else: else:
check.warnings_only = False check.warnings_only = False
check.level = None check.level = None
transitive = True
if hasattr(check, 'param'): if hasattr(check, 'param'):
for param in check.param: for param in check.param:
if not param.hidden is True: if not param.hidden is True:
transitive = False check.transitive = False
param.hidden = None param.hidden = None
check.transitive = transitive
if not self.space.constraints.check: if not self.space.constraints.check:
del self.space.constraints.check del self.space.constraints.check
@ -1054,7 +1053,6 @@ class SpaceAnnotator(object):
for check in self.space.constraints.check: for check in self.space.constraints.check:
variable = self.paths.get_variable_obj(check.target) variable = self.paths.get_variable_obj(check.target)
check_ = self.objectspace.check() check_ = self.objectspace.check()
check_.type = 'calculation'
name = check.name name = check.name
if name == 'valid_differ': if name == 'valid_differ':
name = 'valid_not_equal' name = 'valid_not_equal'
@ -1077,7 +1075,6 @@ class SpaceAnnotator(object):
raise CreoleLoaderError(_('{} must have {} param').format(name, params_len)) raise CreoleLoaderError(_('{} must have {} param').format(name, params_len))
check_.name = name check_.name = name
check_.warnings_only = check.warnings_only check_.warnings_only = check.warnings_only
check_.transitive = check.transitive
if hasattr(check, 'param'): if hasattr(check, 'param'):
check_.param = check.param check_.param = check.param
if not hasattr(variable, 'check'): if not hasattr(variable, 'check'):
@ -1160,6 +1157,10 @@ class SpaceAnnotator(object):
value.type = 'calculation' value.type = 'calculation'
value.name = fill.name value.name = fill.name
if hasattr(fill, 'param'): if hasattr(fill, 'param'):
for param in fill.param:
if param.hidden is True:
param.transitive = False
param.hidden = None
value.param = fill.param value.param = fill.param
if not hasattr(variable, 'value'): if not hasattr(variable, 'value'):
variable.value = [] variable.value = []

View file

@ -81,14 +81,10 @@ CONVERT_OPTION = {'number': dict(opttype=IntOption),
'hostname_strict': dict(opttype=DomainnameOption, initkwargs={'type': 'hostname', 'allow_ip': False}), 'hostname_strict': dict(opttype=DomainnameOption, initkwargs={'type': 'hostname', 'allow_ip': False}),
'web_address': dict(opttype=URLOption, initkwargs={'allow_ip': True, 'allow_without_dot': True}), 'web_address': dict(opttype=URLOption, initkwargs={'allow_ip': True, 'allow_without_dot': True}),
'port': dict(opttype=PortOption, initkwargs={'allow_private': True}), 'port': dict(opttype=PortOption, initkwargs={'allow_private': True}),
'mac': dict(opttype=MACOption) # FIXME YO 'mac': dict(opttype=MACOption)
} }
# FIXME help
REMOVED_ATTRIB = ['path', 'type']
class Elt(object): class Elt(object):
def __init__(self, attrib): def __init__(self, attrib):
self.attrib = attrib self.attrib = attrib
@ -215,7 +211,7 @@ class PopulateTiramisuObjects(object):
subpath = self._build_path(subpath, child) subpath = self._build_path(subpath, child)
for c in child: for c in child:
self._iter_family(c, family, subpath=subpath) self._iter_family(c, family, subpath=subpath)
if child.tag == 'leader': elif child.tag == 'leader':
leader = self._iter_leader(child, subpath) leader = self._iter_leader(child, subpath)
family.add(leader) family.add(leader)
elif child.tag == 'separators': elif child.tag == 'separators':
@ -235,6 +231,8 @@ class PopulateTiramisuObjects(object):
family.add(variable) family.add(variable)
elif child.tag == 'property': elif child.tag == 'property':
self._parse_properties(family, child) self._parse_properties(family, child)
else:
raise Exception('unknown tag {}'.format(child.tag))
def _parse_properties(self, family, child): def _parse_properties(self, family, child):
if child.get('type') == 'calculation': if child.get('type') == 'calculation':
@ -302,14 +300,6 @@ class ElementStorage:
elt = self.get(path) elt = self.get(path)
elt.add_information(name, information) elt.add_information(name, information)
def add_consistency(self, path, consistence, variables, warnings_only, transitive):
elt = self.get(path)
elt.add_consistency(consistence, variables, warnings_only, transitive)
def add_requires(self, path, requires):
elt = self.get(path)
elt.add_requires(requires)
def get(self, path): def get(self, path):
if path not in self.paths: if path not in self.paths:
raise CreoleLoaderError(_('there is no element for path {}').format(path)) raise CreoleLoaderError(_('there is no element for path {}').format(path))
@ -337,17 +327,11 @@ class Variable(Common):
self.option = None self.option = None
self.informations = {} self.informations = {}
self.attrib = {} self.attrib = {}
self.requires = []
self.consistencies = []
self.attrib['properties'] = [] self.attrib['properties'] = []
self.attrib['validators'] = []
self.eosfunc = eosfunc self.eosfunc = eosfunc
self.storage = storage self.storage = storage
for key, value in elt.attrib.items(): for key, value in elt.attrib.items():
if key in REMOVED_ATTRIB:
continue
#if key != 'name':
# value = unicode(value)
if key in booleans: if key in booleans:
if value == 'True': if value == 'True':
value = True value = True
@ -357,6 +341,8 @@ class Variable(Common):
raise CreoleLoaderError(_('unknown value {} for {}').format(value, key)) raise CreoleLoaderError(_('unknown value {} for {}').format(value, key))
if key == 'help': if key == 'help':
self.add_information(key, value) self.add_information(key, value)
elif key == 'type':
pass
else: else:
self.attrib[key] = value self.attrib[key] = value
convert_option = CONVERT_OPTION[elt.attrib['type']] convert_option = CONVERT_OPTION[elt.attrib['type']]
@ -393,7 +379,7 @@ class Variable(Common):
params = [] params = []
for param in child: for param in child:
params.append(self.parse_param(param)) params.append(self.parse_param(param))
self.attrib['default'] = (child.attrib['name'], params) self.attrib['default'] = (child.attrib['name'], params, False)
else: else:
if "type" in child.attrib: if "type" in child.attrib:
type_ = CONVERT_OPTION[child.attrib['type']]['opttype'] type_ = CONVERT_OPTION[child.attrib['type']]['opttype']
@ -417,6 +403,17 @@ class Variable(Common):
self.attrib['default_multi'] = value self.attrib['default_multi'] = value
else: else:
self.attrib['default'] = value self.attrib['default'] = value
elif child.tag == 'choice':
# already load
pass
elif child.tag == 'check':
params = []
for param in child:
params.append(self.parse_param(param))
#check.params = params
self.attrib['validators'].append((child.attrib['name'], params, child.attrib['warnings_only']))
else:
raise Exception('unknown tag {}'.format(child.tag))
if 'initkwargs' in convert_option: if 'initkwargs' in convert_option:
self.attrib.update(convert_option['initkwargs']) self.attrib.update(convert_option['initkwargs'])
if elt.attrib['type'] == 'symlink': if elt.attrib['type'] == 'symlink':
@ -429,14 +426,14 @@ class Variable(Common):
if param.attrib['type'] == 'string': if param.attrib['type'] == 'string':
value = param.text value = param.text
elif param.attrib['type'] == 'eole': elif param.attrib['type'] == 'eole':
hidden = param.attrib['hidden'] transitive = param.attrib.get('transitive', 'False')
if hidden == 'True': if transitive == 'True':
hidden = False transitive = True
elif hidden == 'False': elif transitive == 'False':
hidden = True transitive = False
else: else:
raise CreoleLoaderError(_('unknown hidden boolean {}').format(hidden)) raise CreoleLoaderError(_('unknown transitive boolean {}').format(transitive))
value = [param.text, hidden] value = [param.text, transitive]
elif param.attrib['type'] == 'number': elif param.attrib['type'] == 'number':
value = int(param.text) value = int(param.text)
else: else:
@ -448,68 +445,40 @@ class Variable(Common):
raise CreoleLoaderError(_('key already exists in information {}').format(key)) raise CreoleLoaderError(_('key already exists in information {}').format(key))
self.informations[key] = value self.informations[key] = value
def add_requires(self, requires): def build_calculator(self, key):
self.requires.extend(requires) if key in self.attrib:
values = self.attrib[key]
def add_consistency(self, consistence, variables, warnings_only, transitive): if isinstance(values, list):
self.consistencies.append((consistence, variables, warnings_only, transitive)) is_list = True
else:
def build_params(self, params): is_list = False
if params != None: values = [values]
new_params = Params() ret = []
for key, values in params.items():
new_values = []
for value in values: for value in values:
if isinstance(value, list): if isinstance(value, tuple):
# retrieve object
value = ParamOption(value[0].get(), value[1])
elif value == (None,):
value = ParamContext()
else:
value = ParamValue(value)
if key == '':
args = list(new_params.args)
args.append(value)
new_params.args = tuple(args)
else:
new_params.kwargs[key] = value
return new_params
return params
def build_default(self):
if 'default' in self.attrib:
default = self.attrib['default']
if isinstance(default, tuple):
#('calc_val', [('', ['creole.general.mode_conteneur_actif1', False])])
args = [] args = []
kwargs = {} kwargs = {}
if len(default) == 2: if len(value) == 3:
for param in default[1]: for param in value[1]:
if isinstance(param[1], list): if isinstance(param[1], list):
value = ParamOption(self.storage.get(param[1][0]).get(), notraisepropertyerror=param[1][1]) param_value = ParamOption(self.storage.get(param[1][0]).get(), notraisepropertyerror=param[1][1])
else: else:
value = ParamValue(param[1]) param_value = ParamValue(param[1])
if not param[0]: if not param[0]:
args.append(value) args.append(param_value)
else: else:
kwargs[param[0]] = value kwargs[param[0]] = param_value
self.attrib['default'] = Calculation(getattr(self.eosfunc, default[0]), ret.append(Calculation(getattr(self.eosfunc, value[0]),
Params(tuple(args), Params(tuple(args),
kwargs=kwargs)) kwargs=kwargs)))
#for index, obj in enumerate(self.attrib.get('values', [])): else:
# print(obj) ret.append(value)
#if isinstance(prop, tuple): if not is_list:
# action, kwargs = prop self.attrib[key] = ret[0]
# kwargs['condition'] = ParamOption(self.storage.get(kwargs['condition']).get(), todict=True) else:
# prop = Calculation(calc_value, self.attrib[key] = ret
# Params(action,
# kwargs=kwargs))
# self.attrib['properties'][index] = prop
#if self.attrib['properties']:
# self.attrib['properties'] = tuple(self.attrib['properties'])
#else:
# del self.attrib['properties']
def get(self): def get(self):
if self.option is None: if self.option is None:
@ -517,19 +486,12 @@ class Variable(Common):
self.attrib['opt'] = self.attrib['opt'].get() self.attrib['opt'] = self.attrib['opt'].get()
else: else:
self.build_properties() self.build_properties()
self.build_default() self.build_calculator('default')
#for callback, callback_params in self.callbacks: self.build_calculator('validators')
# self.attrib['callback'] = callback if not self.attrib['validators']:
# self.attrib['callback_params'] = self.build_params(callback_params) del self.attrib['validators']
#for require in self.requires:
# if isinstance(require['option'], Variable):
# require['option'] = require['option'].get()
#if self.requires != []:
# self.attrib['requires'] = self.requires
#if self.validator:
# self.attrib['validator'] = self.validator[0]
# self.attrib['validator_params'] = self.build_params(self.validator[1])
try: try:
print(self.attrib)
option = self.object_type(**self.attrib) option = self.object_type(**self.attrib)
except Exception as err: except Exception as err:
import traceback import traceback
@ -538,27 +500,12 @@ class Variable(Common):
raise CreoleLoaderError(_('cannot create option {}: {}').format(name, err)) raise CreoleLoaderError(_('cannot create option {}: {}').format(name, err))
for key, value in self.informations.items(): for key, value in self.informations.items():
option.impl_set_information(key, value) option.impl_set_information(key, value)
#for consistency in self.consistencies:
# options = []
# for variable in consistency[1]:
# options.append(variable.get())
# try:
# kwargs = {}
# if consistency[2] == 'True':
# kwargs['warnings_only'] = True
# if consistency[3] == 'False':
# kwargs['transitive'] = False
# option.impl_add_consistency(consistency[0], *options, **kwargs)
# except ConfigError as err:
# name = self.attrib['name']
# raise CreoleLoaderError(_('cannot load consistency for {}: {}').format(name, err))
self.option = option self.option = option
return self.option return self.option
class Family(Common): class Family(Common):
def __init__(self, elt, booleans, storage, force_icon=False): def __init__(self, elt, booleans, storage, force_icon=False):
self.requires = []
self.option = None self.option = None
self.attrib = {} self.attrib = {}
self.is_leader = False self.is_leader = False
@ -570,8 +517,6 @@ class Family(Common):
self.storage = storage self.storage = storage
self.attrib['properties'] = [] self.attrib['properties'] = []
for key, value in elt.attrib.items(): for key, value in elt.attrib.items():
if key in REMOVED_ATTRIB:
continue
if key in booleans: if key in booleans:
if value == 'True': if value == 'True':
value = True value = True
@ -589,6 +534,8 @@ class Family(Common):
self.attrib['properties'].append(value) self.attrib['properties'].append(value)
elif key == 'help': elif key == 'help':
self.add_information(key, value) self.add_information(key, value)
elif key == 'type':
pass
else: else:
self.attrib[key] = value self.attrib[key] = value
if 'doc' not in self.attrib: if 'doc' not in self.attrib:
@ -605,19 +552,11 @@ class Family(Common):
def set_leader(self): def set_leader(self):
self.is_leader = True self.is_leader = True
def add_requires(self, requires):
self.requires.extend(requires)
def get(self): def get(self):
if self.option is None: if self.option is None:
self.attrib['children'] = [] self.attrib['children'] = []
for child in self.children: for child in self.children:
self.attrib['children'].append(child.get()) self.attrib['children'].append(child.get())
for require in self.requires:
if isinstance(require['option'], Variable):
require['option'] = require['option'].get()
if self.requires != []:
self.attrib['requires'] = self.requires
self.build_properties() self.build_properties()
try: try:
if not self.is_leader: if not self.is_leader:

View file

@ -1,3 +1,5 @@
from tiramisu import valid_not_equal, valid_ip_netmask
def calc_val(*args, **kwargs): def calc_val(*args, **kwargs):
pass pass

View file

@ -12,7 +12,7 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.mode_conteneur_actif1</param> <param transitive="False" type="eole">creole.general.mode_conteneur_actif1</param>
</value> </value>
</variable> </variable>
<variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice"> <variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice">

View file

@ -12,7 +12,7 @@
<property>basic</property> <property>basic</property>
<property expected="oui" inverse="True" source="creole.general.module_instancie" type="calculation">auto_frozen</property> <property expected="oui" inverse="True" source="creole.general.module_instancie" type="calculation">auto_frozen</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.mode_conteneur_actif1</param> <param transitive="False" type="eole">creole.general.mode_conteneur_actif1</param>
</value> </value>
</variable> </variable>
<variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice"> <variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice">

View file

@ -10,7 +10,7 @@
<property>mandatory</property> <property>mandatory</property>
<property>basic</property> <property>basic</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.mode_conteneur_actif1</param> <param transitive="False" type="eole">creole.general.mode_conteneur_actif1</param>
</value> </value>
</variable> </variable>
<variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice"> <variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice">

View file

@ -12,7 +12,7 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.mode_conteneur_actif1</param> <param transitive="False" type="eole">creole.general.mode_conteneur_actif1</param>
</value> </value>
</variable> </variable>
<variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice"> <variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice">

View file

@ -12,7 +12,7 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.mode_conteneur_actif1</param> <param transitive="False" type="eole">creole.general.mode_conteneur_actif1</param>
</value> </value>
</variable> </variable>
<variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice"> <variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice">

View file

@ -7,7 +7,7 @@
<property>mandatory</property> <property>mandatory</property>
<property>expert</property> <property>expert</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.mode_conteneur_actif1</param> <param transitive="False" type="eole">creole.general.mode_conteneur_actif1</param>
</value> </value>
</variable> </variable>
<variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice"> <variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice">

View file

@ -9,7 +9,7 @@
<property>hidden</property> <property>hidden</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="number">3</param> <param transitive="False" type="number">3</param>
</value> </value>
</variable> </variable>
<variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice"> <variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice">

View file

@ -12,7 +12,7 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.mode_conteneur_actif1</param> <param transitive="False" type="eole">creole.general.mode_conteneur_actif1</param>
</value> </value>
</variable> </variable>
<variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice"> <variable doc="No change" multi="False" name="mode_conteneur_actif1" type="choice">

View file

@ -19,7 +19,7 @@
<property>hidden</property> <property>hidden</property>
<property>basic</property> <property>basic</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="string">oui</param> <param transitive="False" type="string">oui</param>
</value> </value>
</variable> </variable>
</family> </family>

View file

@ -20,7 +20,7 @@
<property expected="oui" inverse="False" source="creole.general.mode_conteneur_actif" type="calculation">hidden</property> <property expected="oui" inverse="False" source="creole.general.mode_conteneur_actif" type="calculation">hidden</property>
<property expected="oui" inverse="False" source="creole.general.mode_conteneur_actif" type="calculation">force_default_on_freeze</property> <property expected="oui" inverse="False" source="creole.general.mode_conteneur_actif" type="calculation">force_default_on_freeze</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="string">oui</param> <param transitive="False" type="string">oui</param>
</value> </value>
</variable> </variable>
</family> </family>

View file

@ -9,7 +9,7 @@
<value>b</value> <value>b</value>
</variable> </variable>
<variable doc="No change" multi="False" name="int" type="number"> <variable doc="No change" multi="False" name="int" type="number">
<check level="error" name="valid_entier" transitive="True" type="calculation" warnings_only="False"> <check name="valid_entier" warnings_only="False">
<param name="mini" type="string">0</param> <param name="mini" type="string">0</param>
<param name="maxi" type="string">100</param> <param name="maxi" type="string">100</param>
</check> </check>

View file

@ -14,7 +14,7 @@
<value>100</value> <value>100</value>
</variable> </variable>
<variable doc="No change" multi="False" name="int" type="number"> <variable doc="No change" multi="False" name="int" type="number">
<check level="error" name="valid_entier" transitive="True" type="calculation" warnings_only="False"> <check name="valid_entier" warnings_only="False">
<param name="mini" type="string">0</param> <param name="mini" type="string">0</param>
<param name="maxi" type="eole">creole.general.int2</param> <param name="maxi" type="eole">creole.general.int2</param>
</check> </check>

View file

@ -9,10 +9,10 @@
<value>b</value> <value>b</value>
</variable> </variable>
<variable doc="No change" multi="False" name="int" type="number"> <variable doc="No change" multi="False" name="int" type="number">
<check level="error" name="valid_not_equal" transitive="True" type="calculation" warnings_only="False"> <check name="valid_not_equal" warnings_only="False">
<param type="eole">creole.general.int2</param> <param type="eole">creole.general.int2</param>
</check> </check>
<check level="error" name="valid_not_equal" transitive="True" type="calculation" warnings_only="False"/> <check name="valid_not_equal" warnings_only="False"/>
<property>normal</property> <property>normal</property>
</variable> </variable>
<variable doc="No change" multi="False" name="int2" type="number"> <variable doc="No change" multi="False" name="int2" type="number">

View file

@ -4,7 +4,7 @@
<family doc="general" name="general"> <family doc="general" name="general">
<property>normal</property> <property>normal</property>
<variable doc="No change" multi="False" name="mode_conteneur_actif" type="choice"> <variable doc="No change" multi="False" name="mode_conteneur_actif" type="choice">
<check level="error" name="valid_not_equal" transitive="True" type="calculation" warnings_only="False"> <check name="valid_not_equal" warnings_only="False">
<param type="eole">creole.general.mode_conteneur_actif1</param> <param type="eole">creole.general.mode_conteneur_actif1</param>
</check> </check>
<choice type="string">oui</choice> <choice type="string">oui</choice>

View file

@ -25,16 +25,16 @@
<value type="string">non</value> <value type="string">non</value>
</variable> </variable>
<variable doc="No change" multi="False" name="mode_conteneur_actif3" type="string"> <variable doc="No change" multi="False" name="mode_conteneur_actif3" type="string">
<check level="error" name="valid_not_equal" transitive="True" type="calculation" warnings_only="False"> <check name="valid_not_equal" warnings_only="False">
<param type="eole">creole.general.mode_conteneur_actif1</param> <param type="eole">creole.general.mode_conteneur_actif1</param>
</check> </check>
<check level="error" name="valid_not_equal" transitive="True" type="calculation" warnings_only="False"> <check name="valid_not_equal" warnings_only="False">
<param type="eole">creole.general.mode_conteneur_actif2</param> <param type="eole">creole.general.mode_conteneur_actif2</param>
</check> </check>
<check level="error" name="valid_not_equal" transitive="True" type="calculation" warnings_only="False"> <check name="valid_not_equal" warnings_only="False">
<param type="eole">creole.general.mode_conteneur_actif1</param> <param type="eole">creole.general.mode_conteneur_actif1</param>
</check> </check>
<check level="error" name="valid_not_equal" transitive="True" type="calculation" warnings_only="False"> <check name="valid_not_equal" warnings_only="False">
<param type="eole">creole.general.mode_conteneur_actif2</param> <param type="eole">creole.general.mode_conteneur_actif2</param>
</check> </check>
<property>mandatory</property> <property>mandatory</property>

View file

@ -25,10 +25,10 @@
<value type="string">non</value> <value type="string">non</value>
</variable> </variable>
<variable doc="No change" multi="False" name="mode_conteneur_actif3" type="string"> <variable doc="No change" multi="False" name="mode_conteneur_actif3" type="string">
<check level="error" name="valid_not_equal" transitive="True" type="calculation" warnings_only="False"> <check name="valid_not_equal" warnings_only="False">
<param type="eole">creole.general.mode_conteneur_actif1</param> <param type="eole">creole.general.mode_conteneur_actif1</param>
</check> </check>
<check level="error" name="valid_not_equal" transitive="True" type="calculation" warnings_only="False"> <check name="valid_not_equal" warnings_only="False">
<param type="eole">creole.general.mode_conteneur_actif2</param> <param type="eole">creole.general.mode_conteneur_actif2</param>
</check> </check>
<property>mandatory</property> <property>mandatory</property>

View file

@ -15,7 +15,7 @@
<property>basic</property> <property>basic</property>
</variable> </variable>
<variable doc="Masque de sous réseau de la carte" multi="False" name="adresse_netmask_eth0" type="netmask"> <variable doc="Masque de sous réseau de la carte" multi="False" name="adresse_netmask_eth0" type="netmask">
<check level="error" name="valid_ip_netmask" transitive="True" type="calculation" warnings_only="True"> <check name="valid_ip_netmask" warnings_only="True">
<param type="eole">creole.general.adresse_ip_eth0</param> <param type="eole">creole.general.adresse_ip_eth0</param>
</check> </check>
<property>mandatory</property> <property>mandatory</property>

View file

@ -19,7 +19,7 @@
<property expected="oui" inverse="False" source="creole.general.condition" type="calculation">hidden</property> <property expected="oui" inverse="False" source="creole.general.condition" type="calculation">hidden</property>
<property expected="oui" inverse="False" source="creole.general.condition" type="calculation">force_default_on_freeze</property> <property expected="oui" inverse="False" source="creole.general.condition" type="calculation">force_default_on_freeze</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="string">non</param> <param transitive="False" type="string">non</param>
</value> </value>
</variable> </variable>
<variable doc="No change" multi="False" name="mode_conteneur_actif2" type="choice"> <variable doc="No change" multi="False" name="mode_conteneur_actif2" type="choice">

View file

@ -19,13 +19,13 @@
<variable doc="slave1" multi="True" name="slave1" type="string"> <variable doc="slave1" multi="True" name="slave1" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" name="valeur" type="string">valfill</param> <param name="valeur" transitive="False" type="string">valfill</param>
</value> </value>
</variable> </variable>
<variable doc="slave2" multi="True" name="slave2" type="string"> <variable doc="slave2" multi="True" name="slave2" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general1.master.slave1</param> <param transitive="False" type="eole">creole.general1.master.slave1</param>
</value> </value>
</variable> </variable>
</leader> </leader>

View file

@ -16,13 +16,13 @@
<variable doc="slave1" multi="True" name="slave1" type="string"> <variable doc="slave1" multi="True" name="slave1" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" name="valeur" type="string">valfill</param> <param name="valeur" transitive="False" type="string">valfill</param>
</value> </value>
</variable> </variable>
<variable doc="slave2" multi="True" name="slave2" type="string"> <variable doc="slave2" multi="True" name="slave2" type="string">
<property>expert</property> <property>expert</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.master.slave1</param> <param transitive="False" type="eole">creole.general.master.slave1</param>
</value> </value>
</variable> </variable>
</leader> </leader>

View file

@ -17,13 +17,13 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" name="valeur" type="string">valfill</param> <param name="valeur" transitive="False" type="string">valfill</param>
</value> </value>
</variable> </variable>
<variable doc="slave2" multi="True" name="slave2" type="string"> <variable doc="slave2" multi="True" name="slave2" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.master.slave1</param> <param transitive="False" type="eole">creole.general.master.slave1</param>
</value> </value>
</variable> </variable>
</leader> </leader>

View file

@ -18,13 +18,13 @@
<variable doc="slave1" multi="True" name="slave1" type="string"> <variable doc="slave1" multi="True" name="slave1" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" name="valeur" type="string">valfill</param> <param name="valeur" transitive="False" type="string">valfill</param>
</value> </value>
</variable> </variable>
<variable doc="slave2" multi="True" name="slave2" type="string"> <variable doc="slave2" multi="True" name="slave2" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.master.slave1</param> <param transitive="False" type="eole">creole.general.master.slave1</param>
</value> </value>
</variable> </variable>
</leader> </leader>

View file

@ -19,13 +19,13 @@
<variable doc="slave1" multi="True" name="slave1" type="string"> <variable doc="slave1" multi="True" name="slave1" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" name="valeur" type="string">valfill</param> <param name="valeur" transitive="False" type="string">valfill</param>
</value> </value>
</variable> </variable>
<variable doc="slave2" multi="True" name="slave2" type="string"> <variable doc="slave2" multi="True" name="slave2" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general1.master.slave1</param> <param transitive="False" type="eole">creole.general1.master.slave1</param>
</value> </value>
</variable> </variable>
</leader> </leader>

View file

@ -19,13 +19,13 @@
<variable doc="slave1" multi="True" name="slave1" type="string"> <variable doc="slave1" multi="True" name="slave1" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" name="valeur" type="string">valfill</param> <param name="valeur" transitive="False" type="string">valfill</param>
</value> </value>
</variable> </variable>
<variable doc="slave2" multi="True" name="slave2" type="string"> <variable doc="slave2" multi="True" name="slave2" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general1.master.slave1</param> <param transitive="False" type="eole">creole.general1.master.slave1</param>
</value> </value>
</variable> </variable>
<variable doc="slave3" multi="True" name="slave3" type="string"> <variable doc="slave3" multi="True" name="slave3" type="string">

View file

@ -19,7 +19,7 @@
<property>hidden</property> <property>hidden</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" name="valeur" type="string">valfill</param> <param name="valeur" transitive="False" type="string">valfill</param>
</value> </value>
</variable> </variable>
<variable doc="slave2" multi="True" name="slave2" type="string"> <variable doc="slave2" multi="True" name="slave2" type="string">
@ -28,7 +28,7 @@
<property>hidden</property> <property>hidden</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.master.slave1</param> <param transitive="False" type="eole">creole.general.master.slave1</param>
</value> </value>
</variable> </variable>
<variable doc="slave3" multi="True" name="slave3" type="string"> <variable doc="slave3" multi="True" name="slave3" type="string">
@ -37,7 +37,7 @@
<property>hidden</property> <property>hidden</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.master.master</param> <param transitive="False" type="eole">creole.general.master.master</param>
</value> </value>
</variable> </variable>
</leader> </leader>

View file

@ -19,7 +19,7 @@
<property>hidden</property> <property>hidden</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" name="valeur" type="string">valfill</param> <param name="valeur" transitive="False" type="string">valfill</param>
</value> </value>
</variable> </variable>
<variable doc="slave2" multi="True" name="slave2" type="string"> <variable doc="slave2" multi="True" name="slave2" type="string">
@ -28,7 +28,7 @@
<property>hidden</property> <property>hidden</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.master.master</param> <param transitive="False" type="eole">creole.general.master.master</param>
</value> </value>
</variable> </variable>
</leader> </leader>

View file

@ -20,7 +20,7 @@
<property>force_default_on_freeze</property> <property>force_default_on_freeze</property>
<property>frozen</property> <property>frozen</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" name="valeur" type="string">valfill</param> <param name="valeur" transitive="False" type="string">valfill</param>
</value> </value>
</variable> </variable>
<variable doc="slave1" multi="True" name="slave1" type="string"> <variable doc="slave1" multi="True" name="slave1" type="string">

View file

@ -16,13 +16,13 @@
<variable doc="slave1" multi="True" name="slave1" type="string"> <variable doc="slave1" multi="True" name="slave1" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" name="valeur" type="string">valfill</param> <param name="valeur" transitive="False" type="string">valfill</param>
</value> </value>
</variable> </variable>
<variable doc="slave2" multi="True" name="slave2" type="string"> <variable doc="slave2" multi="True" name="slave2" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="eole">creole.general.master.slave1</param> <param transitive="False" type="eole">creole.general.master.slave1</param>
</value> </value>
</variable> </variable>
</leader> </leader>

View file

@ -9,7 +9,7 @@
<property>hidden</property> <property>hidden</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="string">value</param> <param transitive="False" type="string">value</param>
</value> </value>
</variable> </variable>
</family> </family>

View file

@ -6,7 +6,7 @@
<variable doc="No change" multi="False" name="mode_conteneur_actif" type="string"> <variable doc="No change" multi="False" name="mode_conteneur_actif" type="string">
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="string">value</param> <param transitive="False" type="string">value</param>
</value> </value>
</variable> </variable>
</family> </family>

View file

@ -27,7 +27,7 @@
<property>normal</property> <property>normal</property>
<property expected="oui" inverse="False" source="creole.general.condition" type="calculation">disabled</property> <property expected="oui" inverse="False" source="creole.general.condition" type="calculation">disabled</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" name="valeur" type="string">valfill</param> <param name="valeur" transitive="False" type="string">valfill</param>
</value> </value>
</variable> </variable>
<variable doc="slave2" multi="True" name="slave2" type="string"> <variable doc="slave2" multi="True" name="slave2" type="string">

View file

@ -12,7 +12,7 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="concat" type="calculation"> <value name="concat" type="calculation">
<param hidden="True" name="valeur" type="string">non</param> <param name="valeur" transitive="False" type="string">non</param>
</value> </value>
</variable> </variable>
</family> </family>

View file

@ -9,7 +9,7 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="concat" type="calculation"> <value name="concat" type="calculation">
<param hidden="True" name="valeur" type="string">non</param> <param name="valeur" transitive="False" type="string">non</param>
</value> </value>
</variable> </variable>
</family> </family>

View file

@ -12,7 +12,7 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="concat" type="calculation"> <value name="concat" type="calculation">
<param hidden="True" name="valeur" type="string">non</param> <param name="valeur" transitive="False" type="string">non</param>
</value> </value>
</variable> </variable>
</family> </family>

View file

@ -12,7 +12,7 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="concat" type="calculation"> <value name="concat" type="calculation">
<param hidden="True" name="valeur" type="string">non</param> <param name="valeur" transitive="False" type="string">non</param>
</value> </value>
</variable> </variable>
</family> </family>

View file

@ -87,7 +87,7 @@
<property>hidden</property> <property>hidden</property>
<property>normal</property> <property>normal</property>
<value name="calc_val" type="calculation"> <value name="calc_val" type="calculation">
<param hidden="True" type="string">http://localhost/</param> <param transitive="False" type="string">http://localhost/</param>
</value> </value>
</variable> </variable>
</family> </family>

View file

@ -42,10 +42,10 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="calc_multi_condition" type="calculation"> <value name="calc_multi_condition" type="calculation">
<param hidden="True" type="string">non</param> <param transitive="False" type="string">non</param>
<param hidden="False" name="condition_1" type="eole">creole.general.activer_ejabberd</param> <param name="condition_1" type="eole">creole.general.activer_ejabberd</param>
<param hidden="True" name="match" type="string">none</param> <param name="match" transitive="False" type="string">none</param>
<param hidden="True" name="mismatch" type="string">daily</param> <param name="mismatch" transitive="False" type="string">daily</param>
</value> </value>
</variable> </variable>
<variable doc="mode" multi="False" name="mode" type="choice"> <variable doc="mode" multi="False" name="mode" type="choice">

View file

@ -42,10 +42,10 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="calc_multi_condition" type="calculation"> <value name="calc_multi_condition" type="calculation">
<param hidden="True" type="string">non</param> <param transitive="False" type="string">non</param>
<param hidden="False" name="condition_1" type="eole">creole.general.activer_ejabberd</param> <param name="condition_1" type="eole">creole.general.activer_ejabberd</param>
<param hidden="True" name="match" type="string">none</param> <param name="match" transitive="False" type="string">none</param>
<param hidden="True" name="mismatch" type="string">daily</param> <param name="mismatch" transitive="False" type="string">daily</param>
</value> </value>
</variable> </variable>
<variable doc="mode" multi="False" name="mode" type="choice"> <variable doc="mode" multi="False" name="mode" type="choice">

View file

@ -42,10 +42,10 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="calc_multi_condition" type="calculation"> <value name="calc_multi_condition" type="calculation">
<param hidden="True" type="string">non</param> <param transitive="False" type="string">non</param>
<param hidden="False" name="condition_1" type="eole">creole.general.activer_ejabberd</param> <param name="condition_1" type="eole">creole.general.activer_ejabberd</param>
<param hidden="True" name="match" type="string">none</param> <param name="match" transitive="False" type="string">none</param>
<param hidden="True" name="mismatch" type="string">daily</param> <param name="mismatch" transitive="False" type="string">daily</param>
</value> </value>
</variable> </variable>
<variable doc="mode" multi="False" name="mode" type="choice"> <variable doc="mode" multi="False" name="mode" type="choice">

View file

@ -45,10 +45,10 @@
<property>mandatory</property> <property>mandatory</property>
<property>normal</property> <property>normal</property>
<value name="calc_multi_condition" type="calculation"> <value name="calc_multi_condition" type="calculation">
<param hidden="True" type="string">non</param> <param transitive="False" type="string">non</param>
<param hidden="False" name="condition_1" type="eole">creole.general.activer_ejabberd</param> <param name="condition_1" type="eole">creole.general.activer_ejabberd</param>
<param hidden="True" name="match" type="string">none</param> <param name="match" transitive="False" type="string">none</param>
<param hidden="True" name="mismatch" type="string">daily</param> <param name="mismatch" transitive="False" type="string">daily</param>
</value> </value>
</variable> </variable>
<variable doc="mode" multi="False" name="mode" type="choice"> <variable doc="mode" multi="False" name="mode" type="choice">

View file

@ -9,8 +9,8 @@
<property>frozen</property> <property>frozen</property>
<property>hidden</property> <property>hidden</property>
<value name="cdrom_minormajor" type="calculation"> <value name="cdrom_minormajor" type="calculation">
<param hidden="True" type="string">major</param> <param transitive="False" type="string">major</param>
<param hidden="True" type="string">/etc/mailname'</param> <param transitive="False" type="string">/etc/mailname'</param>
</value> </value>
</variable> </variable>
<variable doc="" multi="False" name="minor" type="number"> <variable doc="" multi="False" name="minor" type="number">
@ -18,8 +18,8 @@
<property>frozen</property> <property>frozen</property>
<property>hidden</property> <property>hidden</property>
<value name="cdrom_minormajor" type="calculation"> <value name="cdrom_minormajor" type="calculation">
<param hidden="True" type="string">minor</param> <param transitive="False" type="string">minor</param>
<param hidden="True" type="string">/etc/mailname'</param> <param transitive="False" type="string">/etc/mailname'</param>
</value> </value>
</variable> </variable>
<variable doc="" multi="False" name="mode" type="string"> <variable doc="" multi="False" name="mode" type="string">
@ -36,7 +36,7 @@
<property>frozen</property> <property>frozen</property>
<property>hidden</property> <property>hidden</property>
<value name="device_type" type="calculation"> <value name="device_type" type="calculation">
<param hidden="True" type="string">/etc/mailname'</param> <param transitive="False" type="string">/etc/mailname'</param>
</value> </value>
</variable> </variable>
</family> </family>

View file

@ -30,7 +30,7 @@ for test in listdir(dico_dirs):
excludes = set([]) excludes = set([])
test_ok -= excludes test_ok -= excludes
test_raise -= excludes test_raise -= excludes
# test_ok = ['10check_base'] #test_ok = ['10autosave_hidden']
#test_raise = [] #test_raise = []
@ -85,7 +85,7 @@ def launch_flattener(test_dir):
eolobj.save(destfile) eolobj.save(destfile)
result_file = join(test_dir, 'result/00-base.xml') result_file = join(test_dir, 'result/00-base.xml')
if isfile(result_file): if isfile(result_file):
eolobj.save(result_file) # eolobj.save(result_file)
compare_xml(destfile, result_file) compare_xml(destfile, result_file)