From ce507a84f9feb699dfc691af6342f98f6067630a Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Fri, 12 Feb 2021 07:48:27 +0100 Subject: [PATCH] support family in family --- src/rougail/annotator/condition.py | 15 +- src/rougail/annotator/family.py | 135 +++++++++++------- src/rougail/annotator/property.py | 26 ++-- src/rougail/annotator/service.py | 4 +- src/rougail/annotator/value.py | 27 ++-- src/rougail/annotator/variable.py | 113 +++++++++------ src/rougail/data/rougail.dtd | 23 ++- src/rougail/objspace.py | 25 ++-- src/rougail/xmlreflector.py | 4 +- tests/dictionaries/00empty/tiramisu/base.py | 1 - .../01base_file_include/tiramisu/base.py | 1 - .../01base_file_patch/tiramisu/base.py | 1 - .../01base_file_utfchar/tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../00-base.xml | 22 +++ .../__init__.py | 0 .../makedict/base.json | 1 + .../tiramisu/base.py | 29 ++++ .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../20notemplating/tiramisu/base.py | 1 - .../dictionaries/20override/tiramisu/base.py | 1 - .../40ifin_leadershipauto/tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - tests/dictionaries/45multi_family/00-base.xml | 12 ++ tests/dictionaries/45multi_family/__init__.py | 0 .../45multi_family/makedict/base.json | 1 + .../tiramisu/base.py | 10 +- .../45multi_family_order/00-base.xml | 15 ++ .../45multi_family_order/__init__.py | 0 .../45multi_family_order/makedict/base.json | 1 + .../45multi_family_order/tiramisu/base.py | 22 +++ .../dictionaries/45without_family/00-base.xml | 8 ++ .../dictionaries/45without_family/__init__.py | 0 .../45without_family/makedict/base.json | 1 + .../45without_family/tiramisu/base.py | 17 +++ .../60extra_group/tiramisu/base.py | 1 - .../60extra_help/tiramisu/base.py | 1 - .../70container_files/tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../70container_files_twice/tiramisu/base.py | 1 - .../70container_filesmulti/tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../70container_new/tiramisu/base.py | 1 - .../70container_newnocont/tiramisu/base.py | 1 - .../70container_newwithip/tiramisu/base.py | 1 - .../70container_pathaccess/tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../tiramisu/base.py | 1 - .../70container_services/tiramisu/base.py | 1 - .../70services_unmanage/00-base.xml | 20 --- .../70services_unmanage/makedict/base.json | 1 - .../80family_dynamic_with_family/00-base.xml | 16 +++ .../80family_dynamic_with_family/__init__.py | 0 .../80family_dynamic_with_family/errno_2 | 0 71 files changed, 363 insertions(+), 226 deletions(-) create mode 100644 tests/dictionaries/11disabled_if_in_filelist_boolean/00-base.xml rename tests/dictionaries/{70services_unmanage => 11disabled_if_in_filelist_boolean}/__init__.py (100%) create mode 100644 tests/dictionaries/11disabled_if_in_filelist_boolean/makedict/base.json create mode 100644 tests/dictionaries/11disabled_if_in_filelist_boolean/tiramisu/base.py create mode 100644 tests/dictionaries/45multi_family/00-base.xml create mode 100644 tests/dictionaries/45multi_family/__init__.py create mode 100644 tests/dictionaries/45multi_family/makedict/base.json rename tests/dictionaries/{70services_unmanage => 45multi_family}/tiramisu/base.py (54%) create mode 100644 tests/dictionaries/45multi_family_order/00-base.xml create mode 100644 tests/dictionaries/45multi_family_order/__init__.py create mode 100644 tests/dictionaries/45multi_family_order/makedict/base.json create mode 100644 tests/dictionaries/45multi_family_order/tiramisu/base.py create mode 100644 tests/dictionaries/45without_family/00-base.xml create mode 100644 tests/dictionaries/45without_family/__init__.py create mode 100644 tests/dictionaries/45without_family/makedict/base.json create mode 100644 tests/dictionaries/45without_family/tiramisu/base.py delete mode 100644 tests/dictionaries/70services_unmanage/00-base.xml delete mode 100644 tests/dictionaries/70services_unmanage/makedict/base.json create mode 100644 tests/dictionaries/80family_dynamic_with_family/00-base.xml create mode 100644 tests/dictionaries/80family_dynamic_with_family/__init__.py create mode 100644 tests/dictionaries/80family_dynamic_with_family/errno_2 diff --git a/src/rougail/annotator/condition.py b/src/rougail/annotator/condition.py index 9391f97e..31567c89 100644 --- a/src/rougail/annotator/condition.py +++ b/src/rougail/annotator/condition.py @@ -33,11 +33,12 @@ from ..config import Config from .target import TargetAnnotator from .param import ParamAnnotator +from .variable import Walk FREEZE_AUTOFREEZE_VARIABLE = 'module_instancie' -class ConditionAnnotator(TargetAnnotator, ParamAnnotator): +class ConditionAnnotator(TargetAnnotator, ParamAnnotator, Walk): """Annotate condition """ def __init__(self, @@ -66,16 +67,8 @@ class ConditionAnnotator(TargetAnnotator, ParamAnnotator): """convert auto_freeze only if FREEZE_AUTOFREEZE_VARIABLE == 'oui' this variable is frozen """ - for variables in self.objectspace.space.variables.values(): - for family in variables.family.values(): - if not hasattr(family, 'variable'): - continue - for variable in family.variable.values(): - if isinstance(variable, self.objectspace.leadership): - for follower in variable.variable: - self._convert_auto_freeze(follower) - else: - self._convert_auto_freeze(variable) + for variable in self.get_variables(): + self._convert_auto_freeze(variable) def _convert_auto_freeze(self, variable: 'self.objectspace.variable', diff --git a/src/rougail/annotator/family.py b/src/rougail/annotator/family.py index f4c29857..953a396d 100644 --- a/src/rougail/annotator/family.py +++ b/src/rougail/annotator/family.py @@ -27,6 +27,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA from ..i18n import _ from ..error import DictConsistencyError from ..utils import normalize_family +from .variable import Walk #mode order is important @@ -52,7 +53,7 @@ class Mode: # pylint: disable=R0903 modes = {name: Mode(name, idx) for idx, name in enumerate(modes_level)} -class FamilyAnnotator: +class FamilyAnnotator(Walk): """Annotate family """ def __init__(self, @@ -67,50 +68,86 @@ class FamilyAnnotator: self.dynamic_families() self.convert_help() + def _has_variable(self, + family: 'self.objectspace.family', + ) -> bool: + if hasattr(family, 'variable'): + for variable in family.variable.values(): + if isinstance(variable, self.objectspace.family): + if self._has_variable(variable): + return True + else: + return True + else: + return False + return False + def remove_empty_families(self) -> None: """Remove all families without any variable """ for families in self.objectspace.space.variables.values(): removed_families = [] - for family_name, family in families.family.items(): - if not hasattr(family, 'variable') or len(family.variable) == 0: + for family_name, family in families.variable.items(): + if isinstance(family, self.objectspace.family) and not self._has_variable(family): removed_families.append(family_name) for family_name in removed_families: - del families.family[family_name] + del families.variable[family_name] def family_names(self) -> None: """Set doc, path, ... to family """ - for families in self.objectspace.space.variables.values(): - families.doc = families.name - families.path = families.name - for family in families.family.values(): - if not hasattr(family, 'description'): - family.description = family.name - family.doc = family.description - del family.description - family.name = normalize_family(family.name) + for family in self.get_families(): + if not hasattr(family, 'description'): + family.description = family.name + if not hasattr(family, 'path'): + family.path = family.name + family.doc = family.description + del family.description + family.name = normalize_family(family.name) def change_modes(self): """change the mode of variables """ - for families in self.objectspace.space.variables.values(): - for family in families.family.values(): - family_mode = family.mode - # default is high level - new_family_mode = modes_level[-1] - for variable in family.variable.values(): - if not isinstance(variable, self.objectspace.leadership): - func = self._change_variabe_mode - else: - func = self._change_variable_mode_leader - func(variable, - family_mode, - ) - if modes[new_family_mode] > modes[variable.mode]: - new_family_mode = variable.mode - # set the lower variable mode to family - family.mode = new_family_mode + # default is high level + new_family_mode = modes_level[-1] + for family in self.objectspace.space.variables.values(): + self.change_family_mode(family, + new_family_mode, + first=True, + ) + + def change_family_mode(self, + family: 'self.objectspace.family', + new_family_mode: str, + first: bool=False, + ) -> str: + if hasattr(family, 'mode'): + family_mode = family.mode + else: + family_mode = new_family_mode + if hasattr(family, 'variable'): + # change variable mode, but not if variables are not in a family + for variable in family.variable.values(): + if isinstance(variable, self.objectspace.family): + new_family_mode = self.change_family_mode(variable, + new_family_mode, + ) + continue + if first: + continue + if isinstance(variable, self.objectspace.leadership): + func = self._change_variable_mode_leader + else: + func = self._change_variabe_mode + func(variable, + family_mode, + ) + if modes[new_family_mode] > modes[variable.mode]: + new_family_mode = variable.mode + if not first: + # set the lower variable mode to family + family.mode = new_family_mode + return new_family_mode def _change_variabe_mode(self, variable, @@ -160,25 +197,27 @@ class FamilyAnnotator: def dynamic_families(self): """link dynamic families to object """ - for families in self.objectspace.space.variables.values(): - for family in families.family.values(): - if 'dynamic' not in vars(family): - continue - family.suffixes = self.objectspace.paths.get_variable(family.dynamic) - del family.dynamic - if not family.suffixes.multi: - msg = _(f'dynamic family "{family.name}" must be linked ' - f'to multi variable') - raise DictConsistencyError(msg, 16, family.xmlfiles) + for family in self.get_families(): + if 'dynamic' not in vars(family): + continue + family.suffixes = self.objectspace.paths.get_variable(family.dynamic) + del family.dynamic + if not family.suffixes.multi: + msg = _(f'dynamic family "{family.name}" must be linked ' + f'to multi variable') + raise DictConsistencyError(msg, 16, family.xmlfiles) + for variable in family.variable.values(): + if isinstance(variable, self.objectspace.family): + msg = _(f'dynamic family "{family.name}" cannot contains another family') + raise DictConsistencyError(msg, 2, family.xmlfiles) def convert_help(self): """Convert variable help """ - for families in self.objectspace.space.variables.values(): - for family in families.family.values(): - if not hasattr(family, 'help'): - continue - if not hasattr(family, 'information'): - family.information = self.objectspace.information(family.xmlfiles) - family.information.help = family.help - del family.help + for family in self.get_families(): + if not hasattr(family, 'help'): + continue + if not hasattr(family, 'information'): + family.information = self.objectspace.information(family.xmlfiles) + family.information.help = family.help + del family.help diff --git a/src/rougail/annotator/property.py b/src/rougail/annotator/property.py index 5e2d2115..8c6ede7f 100644 --- a/src/rougail/annotator/property.py +++ b/src/rougail/annotator/property.py @@ -26,6 +26,7 @@ Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA """ from ..i18n import _ from ..error import DictConsistencyError +from .variable import Walk PROPERTIES = ('hidden', 'frozen', 'auto_freeze', 'auto_save', 'force_default_on_freeze', @@ -35,7 +36,7 @@ CONVERT_PROPERTIES = {'auto_save': ['force_store_value'], } -class PropertyAnnotator: +class PropertyAnnotator(Walk): """Annotate properties """ def __init__(self, objectspace): @@ -43,7 +44,8 @@ class PropertyAnnotator: if hasattr(self.objectspace.space, 'services'): self.convert_services() if hasattr(self.objectspace.space, 'variables'): - self.convert_variables() + self.convert_family() + self.convert_variable() def convert_property(self, variable, @@ -92,15 +94,15 @@ class PropertyAnnotator: for variable in family.variable: self.convert_property(variable) - def convert_variables(self) -> None: + def convert_family(self) -> None: """convert variables """ - for variables in self.objectspace.space.variables.values(): - for family in variables.family.values(): - self.convert_property(family) - for variable in family.variable.values(): - self.convert_property(variable) - if not isinstance(variable, self.objectspace.leadership): - continue - for follower in variable.variable: - self.convert_property(follower) + for family in self.get_families(): + self.convert_property(family) + + def convert_variable(self) -> None: + for variable in self.get_variables(with_leadership=True): + if isinstance(variable, self.objectspace.leadership): + for follower in variable.variable: + self.convert_property(follower) + self.convert_property(variable) diff --git a/src/rougail/annotator/service.py b/src/rougail/annotator/service.py index 00fb310a..ae76c78d 100644 --- a/src/rougail/annotator/service.py +++ b/src/rougail/annotator/service.py @@ -35,7 +35,7 @@ from ..error import DictConsistencyError ERASED_ATTRIBUTES = ('redefine', 'exists', 'fallback', 'optional', 'remove_check', 'namespace', 'remove_condition', 'path', 'instance_mode', 'index', 'level', 'remove_fill', 'xmlfiles', 'type', 'reflector_name', - 'reflector_object', 'manage') + 'reflector_object',) KEY_TYPE = {'variable': 'symlink', @@ -76,8 +76,6 @@ class ServiceAnnotator: self.objectspace.space.services.path = 'services' for service_name, service in self.objectspace.space.services.service.items(): service.information = self.objectspace.information(service.xmlfiles) - service.information.manage = service.manage - service.manage = None for elttype, values in dict(vars(service)).items(): if not isinstance(values, (dict, list)) or elttype in ERASED_ATTRIBUTES: continue diff --git a/src/rougail/annotator/value.py b/src/rougail/annotator/value.py index 257f9b72..7b6148eb 100644 --- a/src/rougail/annotator/value.py +++ b/src/rougail/annotator/value.py @@ -24,8 +24,9 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA """ +from .variable import Walk -class ValueAnnotator: # pylint: disable=R0903 +class ValueAnnotator(Walk): # pylint: disable=R0903 """Annotate value """ def __init__(self, @@ -39,20 +40,16 @@ class ValueAnnotator: # pylint: disable=R0903 def convert_value(self) -> None: """convert value """ - for families in self.objectspace.space.variables.values(): - for family in families.family.values(): - if not hasattr(family, 'variable'): - continue - for variable in family.variable.values(): - if isinstance(variable, self.objectspace.leadership): - variable_type = 'leader' - for follower in variable.variable: - self._convert_value(follower, - variable_type, - ) - variable_type = 'follower' - else: - self._convert_value(variable) + for variable in self.get_variables(with_leadership=True): + if isinstance(variable, self.objectspace.leadership): + variable_type = 'leader' + for follower in variable.variable: + self._convert_value(follower, + variable_type, + ) + variable_type = 'follower' + else: + self._convert_value(variable) def _convert_value(self, variable, diff --git a/src/rougail/annotator/variable.py b/src/rougail/annotator/variable.py index 505b8e45..246c00e1 100644 --- a/src/rougail/annotator/variable.py +++ b/src/rougail/annotator/variable.py @@ -63,7 +63,52 @@ FORCE_CHOICE = {'schedule': ['none', 'daily', 'weekly', 'monthly'], } -class VariableAnnotator: # pylint: disable=R0903 +class Walk: + """Walk to objectspace to find variable or family + """ + def get_variables(self, + with_leadership: bool=False, + ): + """Iter all variables from the objectspace + """ + for family in self.objectspace.space.variables.values(): + yield from self._get_variables(family, with_leadership) + + def _get_variables(self, + family: 'self.objectspace.family', + with_leadership: bool + ): + if hasattr(family, 'variable'): + for variable in family.variable.values(): + if isinstance(variable, self.objectspace.family): + yield from self._get_variables(variable, with_leadership) + continue + if not with_leadership and isinstance(variable, self.objectspace.leadership): + for follower in variable.variable: + yield follower + continue + yield variable +# if hasattr(family, 'family'): +# for fam in family.family.values(): +# yield from self._get_variables(fam, with_leadership) + + def get_families(self): + """Iter all families from the objectspace + """ + for family in self.objectspace.space.variables.values(): + yield from self._get_families(family) + + def _get_families(self, + family: 'self.objectspace.family', + ): + yield family + if hasattr(family, 'variable'): + for fam in family.variable.values(): + if isinstance(fam, self.objectspace.family): + yield from self._get_families(fam) + + +class VariableAnnotator(Walk): # pylint: disable=R0903 """Annotate variable """ def __init__(self, @@ -79,28 +124,21 @@ class VariableAnnotator: # pylint: disable=R0903 def convert_variable(self): """convert variable """ - for families in self.objectspace.space.variables.values(): - for family in families.family.values(): - if not hasattr(family, 'variable'): - continue - for variable in family.variable.values(): - if isinstance(variable, self.objectspace.leadership): - # first variable is a leader, others are follower - variable_type = 'leader' - for follower in variable.variable: - self._convert_variable(families.name, - follower, - variable_type, - ) - variable_type = 'follower' - else: - self._convert_variable(families.name, - variable, - 'variable', - ) + for variable in self.get_variables(with_leadership=True): + if isinstance(variable, self.objectspace.leadership): + # first variable is a leader, others are follower + variable_type = 'leader' + for follower in variable.variable: + self._convert_variable(follower, + variable_type, + ) + variable_type = 'follower' + else: + self._convert_variable(variable, + 'variable', + ) def _convert_variable(self, - namespace: str, variable, variable_type: str, ) -> None: @@ -127,12 +165,9 @@ class VariableAnnotator: # pylint: disable=R0903 variable.multi = 'submulti' else: variable.multi = True - self._convert_valid_enum(namespace, - variable, - ) + self._convert_valid_enum(variable) def _convert_valid_enum(self, - namespace, variable, ): """some types are, in fact, choices @@ -142,7 +177,7 @@ class VariableAnnotator: # pylint: disable=R0903 if not hasattr(self.objectspace.space, 'constraints'): xmlfiles = variable.xmlfiles self.objectspace.space.constraints = self.objectspace.constraints(xmlfiles) - self.objectspace.space.constraints.namespace = namespace + self.objectspace.space.constraints.namespace = variable.namespace if not hasattr(self.objectspace.space.constraints, 'check'): self.objectspace.space.constraints.check = [] check = self.objectspace.check(variable.xmlfiles) @@ -150,7 +185,7 @@ class VariableAnnotator: # pylint: disable=R0903 target = self.objectspace.target(variable.xmlfiles) target.name = variable.path check.target = [target] - check.namespace = namespace + check.namespace = variable.namespace check.param = [] for value in FORCE_CHOICE[variable.type]: param = self.objectspace.param(variable.xmlfiles) @@ -162,16 +197,8 @@ class VariableAnnotator: # pylint: disable=R0903 def convert_test(self): """Convert variable tests value """ - for families in self.objectspace.space.variables.values(): - for family in families.family.values(): - if not hasattr(family, 'variable'): - continue - for variable in family.variable.values(): - if isinstance(variable, self.objectspace.leadership): - for follower in variable.variable: - self._convert_test(follower) - else: - self._convert_test(variable) + for variable in self.get_variables(): + self._convert_test(variable) def _convert_test(self, variable, @@ -194,16 +221,8 @@ class VariableAnnotator: # pylint: disable=R0903 def convert_help(self): """Convert variable help """ - for families in self.objectspace.space.variables.values(): - for family in families.family.values(): - if not hasattr(family, 'variable'): - continue - for variable in family.variable.values(): - if isinstance(variable, self.objectspace.leadership): - for follower in variable.variable: - self._convert_help(follower) - else: - self._convert_help(variable) + for variable in self.get_variables(): + self._convert_help(variable) @staticmethod def _convert_help(variable) -> None: diff --git a/src/rougail/data/rougail.dtd b/src/rougail/data/rougail.dtd index 42f84961..730d3464 100644 --- a/src/rougail/data/rougail.dtd +++ b/src/rougail/data/rougail.dtd @@ -37,7 +37,7 @@ - + @@ -45,17 +45,16 @@ - + - - + - + @@ -63,7 +62,7 @@ - + @@ -71,17 +70,17 @@ - + - + - + - + @@ -110,7 +109,7 @@ - + @@ -127,7 +126,7 @@ - + diff --git a/src/rougail/objspace.py b/src/rougail/objspace.py index d915c874..253382b8 100644 --- a/src/rougail/objspace.py +++ b/src/rougail/objspace.py @@ -43,7 +43,9 @@ UNREDEFINABLE = ('multi', 'type') # RougailObjSpace's elements that did not created automaticly FORCE_ELEMENTS = ('choice', 'property_', 'leadership', 'information') # XML text are convert has name -FORCED_TEXT_ELTS_AS_NAME = ('choice', 'property', 'value', 'target') +FORCED_TEXT_ELTS_AS_NAME = ('choice', 'property', 'value',) + +FORCE_TAG = {'family': 'variable'} # _____________________________________________________________________________ @@ -236,7 +238,8 @@ class RougailObjSpace: """ retrieves or creates Rougail Object Subspace objects """ - obj = getattr(self, child.tag) + tag = FORCE_TAG.get(child.tag, child.tag) + obj = getattr(self, tag) name = self._get_name(child, namespace) if Redefinable in obj.__mro__: return self.create_or_update_redefinable_object(xmlfile, @@ -314,8 +317,9 @@ class RougailObjSpace: # cannot redefine an inexistant object msg = _(f'Redefined object: "{name}" does not exist yet') raise DictConsistencyError(msg, 46, xmlfile) - if child.tag not in vars(space): - setattr(space, child.tag, {}) + tag = FORCE_TAG.get(child.tag, child.tag) + if tag not in vars(space): + setattr(space, tag, {}) return getattr(self, child.tag)(xmlfile, name) def get_existed_obj(self, @@ -328,7 +332,7 @@ class RougailObjSpace: """ if child.tag in ['variable', 'family']: name = normalize_family(name) - if isinstance(space, self.family): # pylint: disable=E1101 + if child.tag == 'variable': # pylint: disable=E1101 if namespace != Config['variable_namespace']: name = space.path + '.' + name if not self.paths.path_is_defined(name): @@ -340,7 +344,8 @@ class RougailObjSpace: raise DictConsistencyError(msg, 47, space.xmlfiles) return self.paths.get_variable(name) # it's not a family - children = getattr(space, child.tag, {}) + tag = FORCE_TAG.get(child.tag, child.tag) + children = getattr(space, tag, {}) if name in children: return children[name] return None @@ -458,7 +463,10 @@ class RougailObjSpace: """Fill self.paths attributes """ if isinstance(variableobj, self.variable): # pylint: disable=E1101 - family_name = normalize_family(document.attrib['name']) + if 'name' in document.attrib: + family_name = normalize_family(document.attrib['name']) + else: + family_name = namespace self.paths.add_variable(namespace, normalize_family(variableobj.name), namespace + '.' + family_name, @@ -485,9 +493,10 @@ class RougailObjSpace: variableobj.namespace = namespace if isinstance(variableobj, Redefinable): name = variableobj.name + tag = FORCE_TAG.get(child.tag, child.tag) if child.tag in ['family', 'variable']: name = normalize_family(name) - getattr(space, child.tag)[name] = variableobj + getattr(space, tag)[name] = variableobj elif isinstance(variableobj, UnRedefinable): getattr(space, child.tag).append(variableobj) else: diff --git a/src/rougail/xmlreflector.py b/src/rougail/xmlreflector.py index 698c7627..be06e9e7 100644 --- a/src/rougail/xmlreflector.py +++ b/src/rougail/xmlreflector.py @@ -62,11 +62,11 @@ class XMLReflector: try: document = parse(xmlfile) except XMLSyntaxError as err: - raise DictConsistencyError(_(f'not an XML file: {err}'), 52, xmlfile) from err + raise DictConsistencyError(_(f'not a XML file: {err}'), 52, [xmlfile]) from err if not self.dtd.validate(document): dtd_error = self.dtd.error_log.filter_from_errors()[0] msg = _(f'not a valid XML file: {dtd_error}') - raise DictConsistencyError(msg, 43, xmlfile) + raise DictConsistencyError(msg, 43, [xmlfile]) return document.getroot() @staticmethod diff --git a/tests/dictionaries/00empty/tiramisu/base.py b/tests/dictionaries/00empty/tiramisu/base.py index 2f801c40..f0778708 100644 --- a/tests/dictionaries/00empty/tiramisu/base.py +++ b/tests/dictionaries/00empty/tiramisu/base.py @@ -13,6 +13,5 @@ except: from tiramisu import * from rougail.tiramisu import ConvertDynOptionDescription option_2 = OptionDescription(name="tata", doc="tata", children=[]) -option_2.impl_set_information('manage', True) option_1 = OptionDescription(name="services", doc="services", children=[option_2], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1]) diff --git a/tests/dictionaries/01base_file_include/tiramisu/base.py b/tests/dictionaries/01base_file_include/tiramisu/base.py index 0df8f15d..311679a6 100644 --- a/tests/dictionaries/01base_file_include/tiramisu/base.py +++ b/tests/dictionaries/01base_file_include/tiramisu/base.py @@ -25,6 +25,5 @@ option_14 = BoolOption(name="activate", doc="activate", default=True) option_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10, option_11, option_12, option_13, option_14]) option_6 = OptionDescription(name="files", doc="files", children=[option_7]) option_5 = OptionDescription(name="test", doc="test", children=[option_6]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/01base_file_patch/tiramisu/base.py b/tests/dictionaries/01base_file_patch/tiramisu/base.py index 0df8f15d..311679a6 100644 --- a/tests/dictionaries/01base_file_patch/tiramisu/base.py +++ b/tests/dictionaries/01base_file_patch/tiramisu/base.py @@ -25,6 +25,5 @@ option_14 = BoolOption(name="activate", doc="activate", default=True) option_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10, option_11, option_12, option_13, option_14]) option_6 = OptionDescription(name="files", doc="files", children=[option_7]) option_5 = OptionDescription(name="test", doc="test", children=[option_6]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/01base_file_utfchar/tiramisu/base.py b/tests/dictionaries/01base_file_utfchar/tiramisu/base.py index 07bcfaf3..39cdeedb 100644 --- a/tests/dictionaries/01base_file_utfchar/tiramisu/base.py +++ b/tests/dictionaries/01base_file_utfchar/tiramisu/base.py @@ -25,6 +25,5 @@ option_14 = BoolOption(name="activate", doc="activate", default=True) option_7 = OptionDescription(name="systemd_makefs@dev_disk_by\\x2dpartlabel", doc="systemd-makefs@dev-disk-by\\x2dpartlabel", children=[option_8, option_9, option_10, option_11, option_12, option_13, option_14]) option_6 = OptionDescription(name="files", doc="files", children=[option_7]) option_5 = OptionDescription(name="test", doc="test", children=[option_6]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param/tiramisu/base.py b/tests/dictionaries/10load_disabled_if_in_multi_param/tiramisu/base.py index 337d191f..a9b12a7d 100644 --- a/tests/dictionaries/10load_disabled_if_in_multi_param/tiramisu/base.py +++ b/tests/dictionaries/10load_disabled_if_in_multi_param/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param2/tiramisu/base.py b/tests/dictionaries/10load_disabled_if_in_multi_param2/tiramisu/base.py index 96c59b82..5c50c31d 100644 --- a/tests/dictionaries/10load_disabled_if_in_multi_param2/tiramisu/base.py +++ b/tests/dictionaries/10load_disabled_if_in_multi_param2/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param3/tiramisu/base.py b/tests/dictionaries/10load_disabled_if_in_multi_param3/tiramisu/base.py index c169005c..e1ddbaed 100644 --- a/tests/dictionaries/10load_disabled_if_in_multi_param3/tiramisu/base.py +++ b/tests/dictionaries/10load_disabled_if_in_multi_param3/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param4/tiramisu/base.py b/tests/dictionaries/10load_disabled_if_in_multi_param4/tiramisu/base.py index 01e8aac3..5e6ced41 100644 --- a/tests/dictionaries/10load_disabled_if_in_multi_param4/tiramisu/base.py +++ b/tests/dictionaries/10load_disabled_if_in_multi_param4/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param5/tiramisu/base.py b/tests/dictionaries/10load_disabled_if_in_multi_param5/tiramisu/base.py index 674df539..d62efc9f 100644 --- a/tests/dictionaries/10load_disabled_if_in_multi_param5/tiramisu/base.py +++ b/tests/dictionaries/10load_disabled_if_in_multi_param5/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param6/tiramisu/base.py b/tests/dictionaries/10load_disabled_if_in_multi_param6/tiramisu/base.py index e992c244..825becf9 100644 --- a/tests/dictionaries/10load_disabled_if_in_multi_param6/tiramisu/base.py +++ b/tests/dictionaries/10load_disabled_if_in_multi_param6/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/10load_disabled_if_in_multi_param_disabled/tiramisu/base.py b/tests/dictionaries/10load_disabled_if_in_multi_param_disabled/tiramisu/base.py index b099cb85..fc1335fc 100644 --- a/tests/dictionaries/10load_disabled_if_in_multi_param_disabled/tiramisu/base.py +++ b/tests/dictionaries/10load_disabled_if_in_multi_param_disabled/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file1", doc="file1", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/10load_disabled_if_not_in_fallback/tiramisu/base.py b/tests/dictionaries/10load_disabled_if_not_in_fallback/tiramisu/base.py index 547a9583..43ff6b21 100644 --- a/tests/dictionaries/10load_disabled_if_not_in_fallback/tiramisu/base.py +++ b/tests/dictionaries/10load_disabled_if_not_in_fallback/tiramisu/base.py @@ -26,6 +26,5 @@ option_15 = BoolOption(name="activate", doc="activate", default=True) option_8 = OptionDescription(name="file1", doc="file1", children=[option_9, option_10, option_11, option_12, option_13, option_14, option_15]) option_7 = OptionDescription(name="files", doc="files", children=[option_8]) option_6 = OptionDescription(name="test", doc="test", children=[option_7]) -option_6.impl_set_information('manage', True) option_5 = OptionDescription(name="services", doc="services", children=[option_6], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5]) diff --git a/tests/dictionaries/11disabled_if_in_filelist/tiramisu/base.py b/tests/dictionaries/11disabled_if_in_filelist/tiramisu/base.py index 486a9947..19be003b 100644 --- a/tests/dictionaries/11disabled_if_in_filelist/tiramisu/base.py +++ b/tests/dictionaries/11disabled_if_in_filelist/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/11disabled_if_in_filelist_boolean/00-base.xml b/tests/dictionaries/11disabled_if_in_filelist_boolean/00-base.xml new file mode 100644 index 00000000..2e7aca5f --- /dev/null +++ b/tests/dictionaries/11disabled_if_in_filelist_boolean/00-base.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + True + afilllist + + + + diff --git a/tests/dictionaries/70services_unmanage/__init__.py b/tests/dictionaries/11disabled_if_in_filelist_boolean/__init__.py similarity index 100% rename from tests/dictionaries/70services_unmanage/__init__.py rename to tests/dictionaries/11disabled_if_in_filelist_boolean/__init__.py diff --git a/tests/dictionaries/11disabled_if_in_filelist_boolean/makedict/base.json b/tests/dictionaries/11disabled_if_in_filelist_boolean/makedict/base.json new file mode 100644 index 00000000..2d49c86e --- /dev/null +++ b/tests/dictionaries/11disabled_if_in_filelist_boolean/makedict/base.json @@ -0,0 +1 @@ +{"rougail.general.condition": true, "services.test.files.file1.group": "root", "services.test.files.file1.mode": "0644", "services.test.files.file1.name": "/tmp/file1", "services.test.files.file1.owner": "root", "services.test.files.file1.source": "file1", "services.test.files.file1.templating": true, "services.test.files.file1.activate": true} diff --git a/tests/dictionaries/11disabled_if_in_filelist_boolean/tiramisu/base.py b/tests/dictionaries/11disabled_if_in_filelist_boolean/tiramisu/base.py new file mode 100644 index 00000000..d2ec032e --- /dev/null +++ b/tests/dictionaries/11disabled_if_in_filelist_boolean/tiramisu/base.py @@ -0,0 +1,29 @@ +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 = BoolOption(name="condition", doc="condition", default=True, properties=frozenset({"mandatory", "normal"})) +option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"})) +option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2]) +option_8 = StrOption(name="group", doc="group", default="root") +option_9 = StrOption(name="mode", doc="mode", default="0644") +option_10 = StrOption(name="name", doc="name", default="/tmp/file1") +option_11 = StrOption(name="owner", doc="owner", default="root") +option_12 = StrOption(name="source", doc="source", default="file1") +option_13 = BoolOption(name="templating", doc="templating", default=True) +option_14 = BoolOption(name="activate", doc="activate", default=Calculation(func.calc_value, Params((ParamValue(False)), kwargs={'default': ParamValue(True), 'condition_0': ParamOption(option_3), 'expected_0': ParamValue(True)}))) +option_7 = OptionDescription(name="file1", doc="file1", children=[option_8, option_9, option_10, option_11, option_12, option_13, option_14]) +option_6 = OptionDescription(name="files", doc="files", children=[option_7]) +option_5 = OptionDescription(name="test", doc="test", children=[option_6]) +option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) +option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/11disabled_if_in_filelist_disabled/tiramisu/base.py b/tests/dictionaries/11disabled_if_in_filelist_disabled/tiramisu/base.py index cde57edf..3aa56651 100644 --- a/tests/dictionaries/11disabled_if_in_filelist_disabled/tiramisu/base.py +++ b/tests/dictionaries/11disabled_if_in_filelist_disabled/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/11disabled_if_in_filelist_multi/tiramisu/base.py b/tests/dictionaries/11disabled_if_in_filelist_multi/tiramisu/base.py index 08882174..e4aa43a4 100644 --- a/tests/dictionaries/11disabled_if_in_filelist_multi/tiramisu/base.py +++ b/tests/dictionaries/11disabled_if_in_filelist_multi/tiramisu/base.py @@ -35,6 +35,5 @@ option_24 = BoolOption(name="activate", doc="activate", default=Calculation(func option_17 = OptionDescription(name="file2", doc="file2", children=[option_18, option_19, option_20, option_21, option_22, option_23, option_24]) option_8 = OptionDescription(name="files", doc="files", children=[option_9, option_17]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/11disabledifin_filelist_notexist/tiramisu/base.py b/tests/dictionaries/11disabledifin_filelist_notexist/tiramisu/base.py index 0dfdbff7..667e6465 100644 --- a/tests/dictionaries/11disabledifin_filelist_notexist/tiramisu/base.py +++ b/tests/dictionaries/11disabledifin_filelist_notexist/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/11disabledifnotin_filelist_notexist/tiramisu/base.py b/tests/dictionaries/11disabledifnotin_filelist_notexist/tiramisu/base.py index 0dfdbff7..667e6465 100644 --- a/tests/dictionaries/11disabledifnotin_filelist_notexist/tiramisu/base.py +++ b/tests/dictionaries/11disabledifnotin_filelist_notexist/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/11disabledifnotin_filelist_notexist_multi/tiramisu/base.py b/tests/dictionaries/11disabledifnotin_filelist_notexist_multi/tiramisu/base.py index 8a25d6d4..01495ace 100644 --- a/tests/dictionaries/11disabledifnotin_filelist_notexist_multi/tiramisu/base.py +++ b/tests/dictionaries/11disabledifnotin_filelist_notexist_multi/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/11disabledifnotin_filelist_notexist_validenum/tiramisu/base.py b/tests/dictionaries/11disabledifnotin_filelist_notexist_validenum/tiramisu/base.py index 4e5b6958..cfebd589 100644 --- a/tests/dictionaries/11disabledifnotin_filelist_notexist_validenum/tiramisu/base.py +++ b/tests/dictionaries/11disabledifnotin_filelist_notexist_validenum/tiramisu/base.py @@ -27,6 +27,5 @@ option_16 = BoolOption(name="activate", doc="activate", default=Calculation(func option_9 = OptionDescription(name="file", doc="file", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/11multi_disabled_if_in_filelist/tiramisu/base.py b/tests/dictionaries/11multi_disabled_if_in_filelist/tiramisu/base.py index 5f0c6bcc..db8148e9 100644 --- a/tests/dictionaries/11multi_disabled_if_in_filelist/tiramisu/base.py +++ b/tests/dictionaries/11multi_disabled_if_in_filelist/tiramisu/base.py @@ -26,6 +26,5 @@ option_15 = BoolOption(name="activate", doc="activate", default=False) option_8 = OptionDescription(name="file1", doc="file1", children=[option_9, option_10, option_11, option_12, option_13, option_14, option_15]) option_7 = OptionDescription(name="files", doc="files", children=[option_8]) option_6 = OptionDescription(name="test", doc="test", children=[option_7]) -option_6.impl_set_information('manage', True) option_5 = OptionDescription(name="services", doc="services", children=[option_6], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5]) diff --git a/tests/dictionaries/20notemplating/tiramisu/base.py b/tests/dictionaries/20notemplating/tiramisu/base.py index dc686986..ca14130a 100644 --- a/tests/dictionaries/20notemplating/tiramisu/base.py +++ b/tests/dictionaries/20notemplating/tiramisu/base.py @@ -25,6 +25,5 @@ option_14 = BoolOption(name="activate", doc="activate", default=True) option_7 = OptionDescription(name="file", doc="file", children=[option_8, option_9, option_10, option_11, option_12, option_13, option_14]) option_6 = OptionDescription(name="files", doc="files", children=[option_7]) option_5 = OptionDescription(name="test", doc="test", children=[option_6]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/20override/tiramisu/base.py b/tests/dictionaries/20override/tiramisu/base.py index 8cdb67b5..d8b52f16 100644 --- a/tests/dictionaries/20override/tiramisu/base.py +++ b/tests/dictionaries/20override/tiramisu/base.py @@ -25,6 +25,5 @@ option_14 = BoolOption(name="activate", doc="activate", default=True) option_7 = OptionDescription(name="test_service", doc="test.service", children=[option_8, option_9, option_10, option_11, option_12, option_13, option_14]) option_6 = OptionDescription(name="overrides", doc="overrides", children=[option_7]) option_5 = OptionDescription(name="test", doc="test", children=[option_6]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/40ifin_leadershipauto/tiramisu/base.py b/tests/dictionaries/40ifin_leadershipauto/tiramisu/base.py index c6ea2ee4..272306ac 100644 --- a/tests/dictionaries/40ifin_leadershipauto/tiramisu/base.py +++ b/tests/dictionaries/40ifin_leadershipauto/tiramisu/base.py @@ -30,6 +30,5 @@ option_19 = BoolOption(name="activate", doc="activate", default=True) option_12 = OptionDescription(name="mailname", doc="mailname", children=[option_13, option_14, option_15, option_16, option_17, option_18, option_19]) option_11 = OptionDescription(name="files", doc="files", children=[option_12]) option_10 = OptionDescription(name="test", doc="test", children=[option_11]) -option_10.impl_set_information('manage', True) option_9 = OptionDescription(name="services", doc="services", children=[option_10], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_9]) diff --git a/tests/dictionaries/40ifin_leadershipauto_follower/tiramisu/base.py b/tests/dictionaries/40ifin_leadershipauto_follower/tiramisu/base.py index d63bfaa4..19c6bc0b 100644 --- a/tests/dictionaries/40ifin_leadershipauto_follower/tiramisu/base.py +++ b/tests/dictionaries/40ifin_leadershipauto_follower/tiramisu/base.py @@ -30,6 +30,5 @@ option_19 = BoolOption(name="activate", doc="activate", default=True) option_12 = OptionDescription(name="mailname", doc="mailname", children=[option_13, option_14, option_15, option_16, option_17, option_18, option_19]) option_11 = OptionDescription(name="files", doc="files", children=[option_12]) option_10 = OptionDescription(name="test", doc="test", children=[option_11]) -option_10.impl_set_information('manage', True) option_9 = OptionDescription(name="services", doc="services", children=[option_10], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_9]) diff --git a/tests/dictionaries/45multi_family/00-base.xml b/tests/dictionaries/45multi_family/00-base.xml new file mode 100644 index 00000000..9870c76e --- /dev/null +++ b/tests/dictionaries/45multi_family/00-base.xml @@ -0,0 +1,12 @@ + + + + + + + + + + + diff --git a/tests/dictionaries/45multi_family/__init__.py b/tests/dictionaries/45multi_family/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/dictionaries/45multi_family/makedict/base.json b/tests/dictionaries/45multi_family/makedict/base.json new file mode 100644 index 00000000..536366a7 --- /dev/null +++ b/tests/dictionaries/45multi_family/makedict/base.json @@ -0,0 +1 @@ +{"rougail.base.subfamily.variable": null} diff --git a/tests/dictionaries/70services_unmanage/tiramisu/base.py b/tests/dictionaries/45multi_family/tiramisu/base.py similarity index 54% rename from tests/dictionaries/70services_unmanage/tiramisu/base.py rename to tests/dictionaries/45multi_family/tiramisu/base.py index a733bf70..9d00f696 100644 --- a/tests/dictionaries/70services_unmanage/tiramisu/base.py +++ b/tests/dictionaries/45multi_family/tiramisu/base.py @@ -12,10 +12,8 @@ try: except: from tiramisu import * from rougail.tiramisu import ConvertDynOptionDescription -option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"})) -option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"})) +option_4 = StrOption(name="variable", doc="variable", properties=frozenset({"normal"})) +option_3 = OptionDescription(name="subfamily", doc="subfamily", children=[option_4], properties=frozenset({"normal"})) +option_2 = OptionDescription(name="base", doc="base", children=[option_3], properties=frozenset({"normal"})) option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2]) -option_5 = OptionDescription(name="testsrv", doc="testsrv", children=[]) -option_5.impl_set_information('manage', False) -option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) -option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) +option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1]) diff --git a/tests/dictionaries/45multi_family_order/00-base.xml b/tests/dictionaries/45multi_family_order/00-base.xml new file mode 100644 index 00000000..7360ee0b --- /dev/null +++ b/tests/dictionaries/45multi_family_order/00-base.xml @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + diff --git a/tests/dictionaries/45multi_family_order/__init__.py b/tests/dictionaries/45multi_family_order/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/dictionaries/45multi_family_order/makedict/base.json b/tests/dictionaries/45multi_family_order/makedict/base.json new file mode 100644 index 00000000..69da8f2d --- /dev/null +++ b/tests/dictionaries/45multi_family_order/makedict/base.json @@ -0,0 +1 @@ +{"rougail.variable1": null, "rougail.base.variable2": null, "rougail.base.subfamily.variable3": null, "rougail.base.variable4": null} diff --git a/tests/dictionaries/45multi_family_order/tiramisu/base.py b/tests/dictionaries/45multi_family_order/tiramisu/base.py new file mode 100644 index 00000000..ee00f16d --- /dev/null +++ b/tests/dictionaries/45multi_family_order/tiramisu/base.py @@ -0,0 +1,22 @@ +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_2 = StrOption(name="variable1", doc="variable1", properties=frozenset({"normal"})) +option_4 = StrOption(name="variable2", doc="variable2", properties=frozenset({"normal"})) +option_6 = StrOption(name="variable3", doc="variable3", properties=frozenset({"normal"})) +option_5 = OptionDescription(name="subfamily", doc="subfamily", children=[option_6], properties=frozenset({"normal"})) +option_7 = StrOption(name="variable4", doc="variable4", properties=frozenset({"normal"})) +option_3 = OptionDescription(name="base", doc="base", children=[option_4, option_5, option_7], properties=frozenset({"normal"})) +option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_3]) +option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1]) diff --git a/tests/dictionaries/45without_family/00-base.xml b/tests/dictionaries/45without_family/00-base.xml new file mode 100644 index 00000000..d4970166 --- /dev/null +++ b/tests/dictionaries/45without_family/00-base.xml @@ -0,0 +1,8 @@ + + + + + + + diff --git a/tests/dictionaries/45without_family/__init__.py b/tests/dictionaries/45without_family/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/dictionaries/45without_family/makedict/base.json b/tests/dictionaries/45without_family/makedict/base.json new file mode 100644 index 00000000..1aa60ad0 --- /dev/null +++ b/tests/dictionaries/45without_family/makedict/base.json @@ -0,0 +1 @@ +{"rougail.variable": null} diff --git a/tests/dictionaries/45without_family/tiramisu/base.py b/tests/dictionaries/45without_family/tiramisu/base.py new file mode 100644 index 00000000..8adb1991 --- /dev/null +++ b/tests/dictionaries/45without_family/tiramisu/base.py @@ -0,0 +1,17 @@ +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_2 = StrOption(name="variable", doc="variable", properties=frozenset({"normal"})) +option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2]) +option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1]) diff --git a/tests/dictionaries/60extra_group/tiramisu/base.py b/tests/dictionaries/60extra_group/tiramisu/base.py index 532355e5..c13aad45 100644 --- a/tests/dictionaries/60extra_group/tiramisu/base.py +++ b/tests/dictionaries/60extra_group/tiramisu/base.py @@ -31,6 +31,5 @@ option_20 = BoolOption(name="activate", doc="activate", default=True) option_13 = OptionDescription(name="mailname", doc="mailname", children=[option_14, option_15, option_16, option_17, option_18, option_19, option_20]) option_12 = OptionDescription(name="files", doc="files", children=[option_13]) option_11 = OptionDescription(name="test", doc="test", children=[option_12]) -option_11.impl_set_information('manage', True) option_10 = OptionDescription(name="services", doc="services", children=[option_11], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5, option_10]) diff --git a/tests/dictionaries/60extra_help/tiramisu/base.py b/tests/dictionaries/60extra_help/tiramisu/base.py index fe32ba0e..21ba425b 100644 --- a/tests/dictionaries/60extra_help/tiramisu/base.py +++ b/tests/dictionaries/60extra_help/tiramisu/base.py @@ -32,6 +32,5 @@ option_20 = BoolOption(name="activate", doc="activate", default=True) option_13 = OptionDescription(name="mailname", doc="mailname", children=[option_14, option_15, option_16, option_17, option_18, option_19, option_20]) option_12 = OptionDescription(name="files", doc="files", children=[option_13]) option_11 = OptionDescription(name="test", doc="test", children=[option_12]) -option_11.impl_set_information('manage', True) option_10 = OptionDescription(name="services", doc="services", children=[option_11], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5, option_10]) diff --git a/tests/dictionaries/70container_files/tiramisu/base.py b/tests/dictionaries/70container_files/tiramisu/base.py index 194dfcfb..69a25f6b 100644 --- a/tests/dictionaries/70container_files/tiramisu/base.py +++ b/tests/dictionaries/70container_files/tiramisu/base.py @@ -33,6 +33,5 @@ option_22 = BoolOption(name="activate", doc="activate", default=True) option_15 = OptionDescription(name="rougail_conf", doc="rougail.conf", children=[option_16, option_17, option_18, option_19, option_20, option_21, option_22]) option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_15]) option_5 = OptionDescription(name="test", doc="test", children=[option_6]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/70container_files_symlink_multi/tiramisu/base.py b/tests/dictionaries/70container_files_symlink_multi/tiramisu/base.py index c4c7f9d6..0be03ee9 100644 --- a/tests/dictionaries/70container_files_symlink_multi/tiramisu/base.py +++ b/tests/dictionaries/70container_files_symlink_multi/tiramisu/base.py @@ -26,6 +26,5 @@ option_15 = BoolOption(name="activate", doc="activate", default=True) option_8 = OptionDescription(name="mailname", doc="mailname", children=[option_9, option_10, option_11, option_12, option_13, option_14, option_15]) option_7 = OptionDescription(name="files", doc="files", children=[option_8]) option_6 = OptionDescription(name="test", doc="test", children=[option_7]) -option_6.impl_set_information('manage', True) option_5 = OptionDescription(name="services", doc="services", children=[option_6], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5]) diff --git a/tests/dictionaries/70container_files_symlink_multi_variable/tiramisu/base.py b/tests/dictionaries/70container_files_symlink_multi_variable/tiramisu/base.py index 00063e63..41ab17cb 100644 --- a/tests/dictionaries/70container_files_symlink_multi_variable/tiramisu/base.py +++ b/tests/dictionaries/70container_files_symlink_multi_variable/tiramisu/base.py @@ -28,6 +28,5 @@ option_17 = BoolOption(name="activate", doc="activate", default=True) option_9 = OptionDescription(name="mailname", doc="mailname", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16, option_17]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/70container_files_symlink_variable/tiramisu/base.py b/tests/dictionaries/70container_files_symlink_variable/tiramisu/base.py index ad5cbdaa..dac9f496 100644 --- a/tests/dictionaries/70container_files_symlink_variable/tiramisu/base.py +++ b/tests/dictionaries/70container_files_symlink_variable/tiramisu/base.py @@ -28,6 +28,5 @@ option_17 = BoolOption(name="activate", doc="activate", default=True) option_9 = OptionDescription(name="mailname", doc="mailname", children=[option_10, option_11, option_12, option_13, option_14, option_15, option_16, option_17]) option_8 = OptionDescription(name="files", doc="files", children=[option_9]) option_7 = OptionDescription(name="test", doc="test", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/70container_files_twice/tiramisu/base.py b/tests/dictionaries/70container_files_twice/tiramisu/base.py index f572c374..d2a16652 100644 --- a/tests/dictionaries/70container_files_twice/tiramisu/base.py +++ b/tests/dictionaries/70container_files_twice/tiramisu/base.py @@ -41,6 +41,5 @@ option_30 = BoolOption(name="activate", doc="activate", default=True) option_23 = OptionDescription(name="rougail_conf", doc="rougail.conf", children=[option_24, option_25, option_26, option_27, option_28, option_29, option_30]) option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_15, option_23]) option_5 = OptionDescription(name="test", doc="test", children=[option_6]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/70container_filesmulti/tiramisu/base.py b/tests/dictionaries/70container_filesmulti/tiramisu/base.py index 3148b1bf..19597612 100644 --- a/tests/dictionaries/70container_filesmulti/tiramisu/base.py +++ b/tests/dictionaries/70container_filesmulti/tiramisu/base.py @@ -33,6 +33,5 @@ option_22 = BoolOption(name="activate", doc="activate", default=True) option_15 = OptionDescription(name="mailname2", doc="mailname2", children=[option_16, option_17, option_18, option_19, option_20, option_21, option_22]) option_6 = OptionDescription(name="files", doc="files", children=[option_7, option_15]) option_5 = OptionDescription(name="test", doc="test", children=[option_6]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/70container_filesredefine/tiramisu/base.py b/tests/dictionaries/70container_filesredefine/tiramisu/base.py index aa82cf4f..154f6af4 100644 --- a/tests/dictionaries/70container_filesredefine/tiramisu/base.py +++ b/tests/dictionaries/70container_filesredefine/tiramisu/base.py @@ -25,6 +25,5 @@ option_14 = BoolOption(name="activate", doc="activate", default=True) option_7 = OptionDescription(name="mailname_new", doc="mailname.new", children=[option_8, option_9, option_10, option_11, option_12, option_13, option_14]) option_6 = OptionDescription(name="files", doc="files", children=[option_7]) option_5 = OptionDescription(name="test", doc="test", children=[option_6]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/70container_new/tiramisu/base.py b/tests/dictionaries/70container_new/tiramisu/base.py index 1d63ac77..f899d6b9 100644 --- a/tests/dictionaries/70container_new/tiramisu/base.py +++ b/tests/dictionaries/70container_new/tiramisu/base.py @@ -16,6 +16,5 @@ option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui" option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"})) option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2]) option_5 = OptionDescription(name="test", doc="test", children=[]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/70container_newnocont/tiramisu/base.py b/tests/dictionaries/70container_newnocont/tiramisu/base.py index f8a4fcf2..38e64569 100644 --- a/tests/dictionaries/70container_newnocont/tiramisu/base.py +++ b/tests/dictionaries/70container_newnocont/tiramisu/base.py @@ -16,6 +16,5 @@ option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non" option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"})) option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2]) option_5 = OptionDescription(name="test", doc="test", children=[]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/70container_newwithip/tiramisu/base.py b/tests/dictionaries/70container_newwithip/tiramisu/base.py index 505b95d3..6f246395 100644 --- a/tests/dictionaries/70container_newwithip/tiramisu/base.py +++ b/tests/dictionaries/70container_newwithip/tiramisu/base.py @@ -17,6 +17,5 @@ option_4 = IPOption(name="adresse_ip_test", doc="No change", allow_reserved=True option_2 = OptionDescription(name="general", doc="général", children=[option_3, option_4], properties=frozenset({"normal"})) option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2]) option_6 = OptionDescription(name="test", doc="test", children=[]) -option_6.impl_set_information('manage', True) option_5 = OptionDescription(name="services", doc="services", children=[option_6], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_5]) diff --git a/tests/dictionaries/70container_pathaccess/tiramisu/base.py b/tests/dictionaries/70container_pathaccess/tiramisu/base.py index 72c4263f..25c12451 100644 --- a/tests/dictionaries/70container_pathaccess/tiramisu/base.py +++ b/tests/dictionaries/70container_pathaccess/tiramisu/base.py @@ -24,6 +24,5 @@ option_13 = BoolOption(name="activate", doc="activate", default=True) option_9 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_10, option_11, option_12, option_13]) option_8 = OptionDescription(name="ips", doc="ips", children=[option_9]) option_7 = OptionDescription(name="nut", doc="nut", children=[option_8]) -option_7.impl_set_information('manage', True) option_6 = OptionDescription(name="services", doc="services", children=[option_7], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_6]) diff --git a/tests/dictionaries/70container_pathaccess_leadership/tiramisu/base.py b/tests/dictionaries/70container_pathaccess_leadership/tiramisu/base.py index b3f13f23..1eb86e33 100644 --- a/tests/dictionaries/70container_pathaccess_leadership/tiramisu/base.py +++ b/tests/dictionaries/70container_pathaccess_leadership/tiramisu/base.py @@ -25,6 +25,5 @@ option_14 = BoolOption(name="activate", doc="activate", default=True) option_10 = OptionDescription(name="nut_monitor_host", doc="nut_monitor_host", children=[option_11, option_12, option_13, option_14]) option_9 = OptionDescription(name="ips", doc="ips", children=[option_10]) option_8 = OptionDescription(name="ntp", doc="ntp", children=[option_9]) -option_8.impl_set_information('manage', True) option_7 = OptionDescription(name="services", doc="services", children=[option_8], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_7]) diff --git a/tests/dictionaries/70container_serviceaccess/tiramisu/base.py b/tests/dictionaries/70container_serviceaccess/tiramisu/base.py index 88962eae..a4583417 100644 --- a/tests/dictionaries/70container_serviceaccess/tiramisu/base.py +++ b/tests/dictionaries/70container_serviceaccess/tiramisu/base.py @@ -21,6 +21,5 @@ option_10 = BoolOption(name="activate", doc="activate", default=True) option_7 = OptionDescription(name="123", doc="123", children=[option_8, option_9, option_10]) option_6 = OptionDescription(name="ports", doc="ports", children=[option_7]) option_5 = OptionDescription(name="ntp", doc="ntp", children=[option_6]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/70container_servicerestriction/tiramisu/base.py b/tests/dictionaries/70container_servicerestriction/tiramisu/base.py index 7b307a0e..015197f3 100644 --- a/tests/dictionaries/70container_servicerestriction/tiramisu/base.py +++ b/tests/dictionaries/70container_servicerestriction/tiramisu/base.py @@ -22,6 +22,5 @@ option_11 = BoolOption(name="activate", doc="activate", default=True) option_7 = OptionDescription(name="192_168_1_1", doc="192.168.1.1", children=[option_8, option_9, option_10, option_11]) option_6 = OptionDescription(name="ips", doc="ips", children=[option_7]) option_5 = OptionDescription(name="testsrv", doc="testsrv", children=[option_6]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/70container_services/tiramisu/base.py b/tests/dictionaries/70container_services/tiramisu/base.py index c36ee703..20fd844f 100644 --- a/tests/dictionaries/70container_services/tiramisu/base.py +++ b/tests/dictionaries/70container_services/tiramisu/base.py @@ -16,6 +16,5 @@ option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="oui" option_2 = OptionDescription(name="general", doc="général", children=[option_3], properties=frozenset({"normal"})) option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2]) option_5 = OptionDescription(name="testsrv", doc="testsrv", children=[]) -option_5.impl_set_information('manage', True) option_4 = OptionDescription(name="services", doc="services", children=[option_5], properties=frozenset({"hidden"})) option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_4]) diff --git a/tests/dictionaries/70services_unmanage/00-base.xml b/tests/dictionaries/70services_unmanage/00-base.xml deleted file mode 100644 index 15b0f914..00000000 --- a/tests/dictionaries/70services_unmanage/00-base.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - diff --git a/tests/dictionaries/70services_unmanage/makedict/base.json b/tests/dictionaries/70services_unmanage/makedict/base.json deleted file mode 100644 index eb10bec4..00000000 --- a/tests/dictionaries/70services_unmanage/makedict/base.json +++ /dev/null @@ -1 +0,0 @@ -{"rougail.general.mode_conteneur_actif": "oui"} diff --git a/tests/dictionaries/80family_dynamic_with_family/00-base.xml b/tests/dictionaries/80family_dynamic_with_family/00-base.xml new file mode 100644 index 00000000..a74126d8 --- /dev/null +++ b/tests/dictionaries/80family_dynamic_with_family/00-base.xml @@ -0,0 +1,16 @@ + + + + + + + val1 + val2 + + + + + + + + diff --git a/tests/dictionaries/80family_dynamic_with_family/__init__.py b/tests/dictionaries/80family_dynamic_with_family/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/tests/dictionaries/80family_dynamic_with_family/errno_2 b/tests/dictionaries/80family_dynamic_with_family/errno_2 new file mode 100644 index 00000000..e69de29b