Compare commits
No commits in common. "84eafb2debd07c5d6981e7dd818a97a3b80b36aa" and "36827b686970b3176f1e62ecf0ff5580525cbf7b" have entirely different histories.
84eafb2deb
...
36827b6869
|
@ -275,7 +275,7 @@ class Annotator(Walk):
|
||||||
f'to multi variable')
|
f'to multi variable')
|
||||||
raise DictConsistencyError(msg, 16, family.xmlfiles)
|
raise DictConsistencyError(msg, 16, family.xmlfiles)
|
||||||
for variable in family.variable.values():
|
for variable in family.variable.values():
|
||||||
if isinstance(variable, self.objectspace.family) and not variable.leadership:
|
if isinstance(variable, self.objectspace.family):
|
||||||
msg = _(f'dynamic family "{family.name}" cannot contains another family')
|
msg = _(f'dynamic family "{family.name}" cannot contains another family')
|
||||||
raise DictConsistencyError(msg, 22, family.xmlfiles)
|
raise DictConsistencyError(msg, 22, family.xmlfiles)
|
||||||
|
|
||||||
|
|
|
@ -488,7 +488,7 @@ class RougailObjSpace:
|
||||||
elif isinstance(variableobj, self.family): # pylint: disable=E1101
|
elif isinstance(variableobj, self.family): # pylint: disable=E1101
|
||||||
family_name = variableobj.name
|
family_name = variableobj.name
|
||||||
if namespace != self.rougailconfig['variable_namespace']:
|
if namespace != self.rougailconfig['variable_namespace']:
|
||||||
family_name = space.path + '.' + family_name
|
family_name = namespace + '.' + family_name
|
||||||
self.paths.add_family(namespace,
|
self.paths.add_family(namespace,
|
||||||
family_name,
|
family_name,
|
||||||
variableobj,
|
variableobj,
|
||||||
|
|
|
@ -76,8 +76,6 @@ class RougailUpgrade:
|
||||||
for filename in filenames:
|
for filename in filenames:
|
||||||
xmlsrc = join(srcfolder, filename)
|
xmlsrc = join(srcfolder, filename)
|
||||||
xmldst = join(dstfolder, filename)
|
xmldst = join(dstfolder, filename)
|
||||||
if isfile(xmldst):
|
|
||||||
raise Exception(f'cannot update "{xmlsrc}" destination file "{xmldst}" already exists')
|
|
||||||
try:
|
try:
|
||||||
parser = XMLParser(remove_blank_text=True)
|
parser = XMLParser(remove_blank_text=True)
|
||||||
document = parse(xmlsrc, parser)
|
document = parse(xmlsrc, parser)
|
||||||
|
|
|
@ -1,19 +0,0 @@
|
||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<rougail version="0.10">
|
|
||||||
<variables>
|
|
||||||
<family name="general">
|
|
||||||
<variable name="varname" type="string" description="No change" multi="True">
|
|
||||||
<value>val1</value>
|
|
||||||
<value>val2</value>
|
|
||||||
</variable>
|
|
||||||
</family>
|
|
||||||
<family name="dyn" dynamic="varname">
|
|
||||||
<variable name="vardyn" type="string" description="No change"/>
|
|
||||||
<family name="leadership" leadership="True">
|
|
||||||
<variable name="leader" type="string" description="leader" multi="True"/>
|
|
||||||
<variable name="follower1" type="string" description="follower1"/>
|
|
||||||
<variable name="follower2" type="string" description="follower2"/>
|
|
||||||
</family>
|
|
||||||
</family>
|
|
||||||
</variables>
|
|
||||||
</rougail>
|
|
|
@ -1,24 +0,0 @@
|
||||||
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 = StrOption(name="varname", doc="No change", multi=True, default=['val1', 'val2'], default_multi="val1", properties=frozenset({"mandatory", "normal"}))
|
|
||||||
option_2 = OptionDescription(name="general", doc="general", children=[option_3], properties=frozenset({"normal"}))
|
|
||||||
option_5 = StrOption(name="vardyn", doc="No change", properties=frozenset({"normal"}))
|
|
||||||
option_7 = StrOption(name="leader", doc="leader", multi=True)
|
|
||||||
option_8 = StrOption(name="follower1", doc="follower1", multi=True, properties=frozenset({"normal"}))
|
|
||||||
option_9 = StrOption(name="follower2", doc="follower2", multi=True, properties=frozenset({"normal"}))
|
|
||||||
option_6 = Leadership(name="leadership", doc="leadership", children=[option_7, option_8, option_9], properties=frozenset({"normal"}))
|
|
||||||
option_4 = ConvertDynOptionDescription(name="dyn", doc="dyn", suffixes=Calculation(func.calc_value, Params((ParamOption(option_3, notraisepropertyerror=True)))), children=[option_5, option_6], properties=frozenset({"normal"}))
|
|
||||||
option_1 = OptionDescription(name="rougail", doc="rougail", children=[option_2, option_4])
|
|
||||||
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1])
|
|
|
@ -1,19 +0,0 @@
|
||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<rougail version="0.10">
|
|
||||||
<services>
|
|
||||||
<service name="test">
|
|
||||||
<file>/etc/mailname</file>
|
|
||||||
<file engine="jinja2">/etc/mailname2</file>
|
|
||||||
</service>
|
|
||||||
</services>
|
|
||||||
<variables>
|
|
||||||
<family name="general" description="général">
|
|
||||||
<variable name="mode_conteneur_actif" type="string" description="No change" hidden="True">
|
|
||||||
<value>non</value>
|
|
||||||
</variable>
|
|
||||||
<variable name="activer_ejabberd" type="string" description="No change" hidden="True">
|
|
||||||
<value>non</value>
|
|
||||||
</variable>
|
|
||||||
</family>
|
|
||||||
</variables>
|
|
||||||
</rougail>
|
|
|
@ -1,22 +0,0 @@
|
||||||
<?xml version='1.0' encoding='UTF-8'?>
|
|
||||||
<rougail version="0.10">
|
|
||||||
<variables>
|
|
||||||
<family name="ejabberd">
|
|
||||||
<family name="description" description="description" leadership="True">
|
|
||||||
<variable name="description" type="string" multi="True">
|
|
||||||
<value>test</value>
|
|
||||||
</variable>
|
|
||||||
<variable name="mode" type="string">
|
|
||||||
<value>pre</value>
|
|
||||||
</variable>
|
|
||||||
</family>
|
|
||||||
</family>
|
|
||||||
</variables>
|
|
||||||
<constraints>
|
|
||||||
<check name="valid_enum">
|
|
||||||
<param>pre</param>
|
|
||||||
<param>post</param>
|
|
||||||
<target>extra.ejabberd.description.mode</target>
|
|
||||||
</check>
|
|
||||||
</constraints>
|
|
||||||
</rougail>
|
|
|
@ -1,48 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.general.mode_conteneur_actif": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": "non"
|
|
||||||
},
|
|
||||||
"rougail.general.activer_ejabberd": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": "non"
|
|
||||||
},
|
|
||||||
"extra.ejabberd.description.description": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": [
|
|
||||||
"test"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"extra.ejabberd.description.mode": {
|
|
||||||
"owner": [
|
|
||||||
"default"
|
|
||||||
],
|
|
||||||
"value": [
|
|
||||||
"pre"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"services.test.files.mailname.name": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": "/etc/mailname"
|
|
||||||
},
|
|
||||||
"services.test.files.mailname.activate": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"services.test.files.mailname2.name": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": "/etc/mailname2"
|
|
||||||
},
|
|
||||||
"services.test.files.mailname2.activate": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"services.test.activate": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"services.test.manage": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,16 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.general.mode_conteneur_actif": "non",
|
|
||||||
"rougail.general.activer_ejabberd": "non",
|
|
||||||
"extra.ejabberd.description.description": [
|
|
||||||
{
|
|
||||||
"extra.ejabberd.description.description": "test",
|
|
||||||
"extra.ejabberd.description.mode": "pre"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"services.test.files.mailname.name": "/etc/mailname",
|
|
||||||
"services.test.files.mailname.activate": true,
|
|
||||||
"services.test.files.mailname2.name": "/etc/mailname2",
|
|
||||||
"services.test.files.mailname2.activate": true,
|
|
||||||
"services.test.activate": true,
|
|
||||||
"services.test.manage": true
|
|
||||||
}
|
|
|
@ -1,48 +0,0 @@
|
||||||
{
|
|
||||||
"rougail.general.mode_conteneur_actif": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": "non"
|
|
||||||
},
|
|
||||||
"rougail.general.activer_ejabberd": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": "non"
|
|
||||||
},
|
|
||||||
"extra.ejabberd.description.description": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": [
|
|
||||||
"test"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"extra.ejabberd.description.mode": {
|
|
||||||
"owner": [
|
|
||||||
"default"
|
|
||||||
],
|
|
||||||
"value": [
|
|
||||||
"pre"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"services.test.files.mailname.name": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": "/etc/mailname"
|
|
||||||
},
|
|
||||||
"services.test.files.mailname.activate": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"services.test.files.mailname2.name": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": "/etc/mailname2"
|
|
||||||
},
|
|
||||||
"services.test.files.mailname2.activate": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"services.test.activate": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": true
|
|
||||||
},
|
|
||||||
"services.test.manage": {
|
|
||||||
"owner": "default",
|
|
||||||
"value": true
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,11 +0,0 @@
|
||||||
contain test
|
|
||||||
1
|
|
||||||
leader: test
|
|
||||||
follower: pre
|
|
||||||
supeq
|
|
||||||
sup
|
|
||||||
diff
|
|
||||||
testpre
|
|
||||||
pretest
|
|
||||||
leader2: test
|
|
||||||
follower2: pre
|
|
|
@ -1,11 +0,0 @@
|
||||||
contain test
|
|
||||||
1
|
|
||||||
leader: test
|
|
||||||
follower: pre
|
|
||||||
supeq
|
|
||||||
sup
|
|
||||||
diff
|
|
||||||
testpre
|
|
||||||
pretest
|
|
||||||
leader2: test
|
|
||||||
follower2: pre
|
|
|
@ -1,4 +0,0 @@
|
||||||
C /etc/mailname 0644 root root - /usr/local/lib/etc/mailname
|
|
||||||
z /etc/mailname - - - - -
|
|
||||||
C /etc/mailname2 0644 root root - /usr/local/lib/etc/mailname2
|
|
||||||
z /etc/mailname2 - - - - -
|
|
|
@ -1,37 +0,0 @@
|
||||||
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 *
|
|
||||||
option_3 = StrOption(name="mode_conteneur_actif", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
|
|
||||||
option_4 = StrOption(name="activer_ejabberd", doc="No change", default="non", properties=frozenset({"force_default_on_freeze", "frozen", "hidden", "mandatory", "normal"}))
|
|
||||||
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_8 = StrOption(name="description", doc="description", multi=True, default=['test'], properties=frozenset({"mandatory"}))
|
|
||||||
option_9 = ChoiceOption(name="mode", doc="mode", values=('pre', 'post'), multi=True, default_multi="pre", properties=frozenset({"mandatory", "normal"}))
|
|
||||||
option_7 = Leadership(name="description", doc="description", children=[option_8, option_9], properties=frozenset({"normal"}))
|
|
||||||
option_6 = OptionDescription(name="ejabberd", doc="ejabberd", children=[option_7], properties=frozenset({"normal"}))
|
|
||||||
option_5 = OptionDescription(name="extra", doc="extra", children=[option_6])
|
|
||||||
option_14 = FilenameOption(name="name", doc="name", default="/etc/mailname")
|
|
||||||
option_15 = BoolOption(name="activate", doc="activate", default=True)
|
|
||||||
option_13 = OptionDescription(name="mailname", doc="mailname", children=[option_14, option_15])
|
|
||||||
option_13.impl_set_information('source', "mailname")
|
|
||||||
option_17 = FilenameOption(name="name", doc="name", default="/etc/mailname2")
|
|
||||||
option_18 = BoolOption(name="activate", doc="activate", default=True)
|
|
||||||
option_16 = OptionDescription(name="mailname2", doc="mailname2", children=[option_17, option_18])
|
|
||||||
option_16.impl_set_information('engine', "jinja2")
|
|
||||||
option_16.impl_set_information('source', "mailname2")
|
|
||||||
option_12 = OptionDescription(name="files", doc="files", children=[option_13, option_16])
|
|
||||||
option_19 = BoolOption(name="activate", doc="activate", default=True)
|
|
||||||
option_20 = BoolOption(name="manage", doc="manage", default=True)
|
|
||||||
option_11 = OptionDescription(name="test", doc="test", children=[option_12, option_19, option_20])
|
|
||||||
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])
|
|
|
@ -1,35 +0,0 @@
|
||||||
%if 'test' in %%extra.ejabberd.description
|
|
||||||
contain test
|
|
||||||
%end if
|
|
||||||
%%len(%%extra.ejabberd.description)
|
|
||||||
%if 'a' in %%extra.ejabberd.description
|
|
||||||
contain a
|
|
||||||
%end if
|
|
||||||
%for %%description in %%extra.ejabberd.description
|
|
||||||
leader: %%description
|
|
||||||
follower: %%description.mode
|
|
||||||
%if %%description <= %%description.mode
|
|
||||||
infeq
|
|
||||||
%end if
|
|
||||||
%if %%description >= %%description.mode
|
|
||||||
supeq
|
|
||||||
%end if
|
|
||||||
%if %%description < %%description.mode
|
|
||||||
inf
|
|
||||||
%end if
|
|
||||||
%if %%description > %%description.mode
|
|
||||||
sup
|
|
||||||
%end if
|
|
||||||
%if %%description == %%description.mode
|
|
||||||
eq
|
|
||||||
%end if
|
|
||||||
%if %%description != %%description.mode
|
|
||||||
diff
|
|
||||||
%end if
|
|
||||||
%set %%var = %%description + %%description.mode
|
|
||||||
%%var
|
|
||||||
%set %%var = %%description.mode + %%description
|
|
||||||
%%var
|
|
||||||
%end for
|
|
||||||
leader2: %%extra.ejabberd.description[0]
|
|
||||||
follower2: %%extra.ejabberd.description[0].mode
|
|
|
@ -1,33 +0,0 @@
|
||||||
{% if 'test' in extra.ejabberd.description -%}
|
|
||||||
contain test
|
|
||||||
{% endif -%}
|
|
||||||
{{ extra.ejabberd.description|length }}
|
|
||||||
{% if 'a' in extra.ejabberd.description -%}
|
|
||||||
contain a
|
|
||||||
{% endif -%}
|
|
||||||
{% for description in extra.ejabberd.description -%}
|
|
||||||
leader: {{ description }}
|
|
||||||
follower: {{ description.mode }}
|
|
||||||
{% if description <= description.mode -%}
|
|
||||||
infeq
|
|
||||||
{% endif -%}
|
|
||||||
{% if description >= description.mode -%}
|
|
||||||
supeq
|
|
||||||
{% endif -%}
|
|
||||||
{% if description < description.mode -%}
|
|
||||||
inf
|
|
||||||
{% endif -%}
|
|
||||||
{% if description > description.mode -%}
|
|
||||||
sup
|
|
||||||
{% endif -%}
|
|
||||||
{% if description == description.mode -%}
|
|
||||||
eq
|
|
||||||
{% endif -%}
|
|
||||||
{% if description != description.mode -%}
|
|
||||||
diff
|
|
||||||
{% endif -%}
|
|
||||||
{{ description + description.mode }}
|
|
||||||
{{ description.mode + description }}
|
|
||||||
{% endfor -%}
|
|
||||||
leader2: {{ extra.ejabberd.description[0] }}
|
|
||||||
follower2: {{ extra.ejabberd.description[0].mode }}
|
|
Loading…
Reference in New Issue