allow empty leadership

This commit is contained in:
Emmanuel Garette 2022-05-22 18:49:56 +02:00
parent 17db8caa5e
commit 7409062d7f
7 changed files with 59 additions and 0 deletions

View file

@ -55,6 +55,8 @@ class Annotator(Walk):
if hasattr(family, 'dynamic'): if hasattr(family, 'dynamic'):
msg = _(f'the family "{family.name}" cannot be leadership and dynamic together') msg = _(f'the family "{family.name}" cannot be leadership and dynamic together')
raise DictConsistencyError(msg, 31, family.xmlfiles) raise DictConsistencyError(msg, 31, family.xmlfiles)
if not hasattr(family, 'variable'):
continue
for idx, variable in enumerate(family.variable.values()): for idx, variable in enumerate(family.variable.values()):
if idx == 0: if idx == 0:
# it's a leader # it's a leader

View file

@ -0,0 +1,11 @@
<?xml version='1.0' encoding='UTF-8'?>
<rougail version="0.10">
<services>
<service name="tata">
</service>
</services>
<variables>
<family name="empty_leader" leadership="True">
</family>
</variables>
</rougail>

View file

@ -0,0 +1,10 @@
{
"services.tata_service.activate": {
"owner": "default",
"value": true
},
"services.tata_service.manage": {
"owner": "default",
"value": true
}
}

View file

@ -0,0 +1,4 @@
{
"services.tata_service.activate": true,
"services.tata_service.manage": true
}

View file

@ -0,0 +1,10 @@
{
"services.tata_service.activate": {
"owner": "default",
"value": true
},
"services.tata_service.manage": {
"owner": "default",
"value": true
}
}

View file

@ -0,0 +1,22 @@
from importlib.machinery import SourceFileLoader as _SourceFileLoader
from importlib.util import spec_from_loader as _spec_from_loader, module_from_spec as _module_from_spec
class func:
pass
_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 function in dir(_func):
if function.startswith('_'):
continue
setattr(func, function, getattr(_func, function))
try:
from tiramisu3 import *
except:
from tiramisu import *
option_1 = OptionDescription(name="rougail", doc="rougail", children=[])
option_4 = BoolOption(name="activate", doc="activate", default=True)
option_5 = BoolOption(name="manage", doc="manage", default=True)
option_3 = OptionDescription(name="tata_service", doc="tata.service", children=[option_4, option_5])
option_2 = OptionDescription(name="services", doc="services", children=[option_3], properties=frozenset({"hidden"}))
option_0 = OptionDescription(name="baseoption", doc="baseoption", children=[option_1, option_2])