allow empty leadership
This commit is contained in:
parent
17db8caa5e
commit
7409062d7f
7 changed files with 59 additions and 0 deletions
|
@ -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
|
||||||
|
|
11
tests/dictionaries/10leadership_empty/00_base.xml
Normal file
11
tests/dictionaries/10leadership_empty/00_base.xml
Normal 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>
|
0
tests/dictionaries/10leadership_empty/__init__.py
Normal file
0
tests/dictionaries/10leadership_empty/__init__.py
Normal file
10
tests/dictionaries/10leadership_empty/makedict/after.json
Normal file
10
tests/dictionaries/10leadership_empty/makedict/after.json
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"services.tata_service.activate": {
|
||||||
|
"owner": "default",
|
||||||
|
"value": true
|
||||||
|
},
|
||||||
|
"services.tata_service.manage": {
|
||||||
|
"owner": "default",
|
||||||
|
"value": true
|
||||||
|
}
|
||||||
|
}
|
4
tests/dictionaries/10leadership_empty/makedict/base.json
Normal file
4
tests/dictionaries/10leadership_empty/makedict/base.json
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
{
|
||||||
|
"services.tata_service.activate": true,
|
||||||
|
"services.tata_service.manage": true
|
||||||
|
}
|
10
tests/dictionaries/10leadership_empty/makedict/before.json
Normal file
10
tests/dictionaries/10leadership_empty/makedict/before.json
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"services.tata_service.activate": {
|
||||||
|
"owner": "default",
|
||||||
|
"value": true
|
||||||
|
},
|
||||||
|
"services.tata_service.manage": {
|
||||||
|
"owner": "default",
|
||||||
|
"value": true
|
||||||
|
}
|
||||||
|
}
|
22
tests/dictionaries/10leadership_empty/tiramisu/base.py
Normal file
22
tests/dictionaries/10leadership_empty/tiramisu/base.py
Normal 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])
|
Loading…
Reference in a new issue