follower option with consistency
This commit is contained in:
@ -282,8 +282,7 @@ class SubConfig(object):
|
||||
def getattr(self,
|
||||
name,
|
||||
option_bag,
|
||||
from_follower=False,
|
||||
follower_check_length=True):
|
||||
from_follower=False):
|
||||
"""
|
||||
attribute notation mechanism for accessing the value of an option
|
||||
:param name: attribute name
|
||||
@ -315,7 +314,7 @@ class SubConfig(object):
|
||||
if not from_follower or option_bag.option.impl_getrequires():
|
||||
self.cfgimpl_get_settings().validate_properties(option_bag)
|
||||
|
||||
if follower_check_length and option.impl_is_follower() and not from_follower:
|
||||
if option.impl_is_follower() and not from_follower:
|
||||
length = self.cfgimpl_get_length_leadership(option_bag)
|
||||
follower_len = self.cfgimpl_get_values()._p_.get_max_length(option_bag.path)
|
||||
if follower_len > length:
|
||||
@ -324,12 +323,8 @@ class SubConfig(object):
|
||||
follower_len,
|
||||
length,
|
||||
option_bag.index))
|
||||
else:
|
||||
length = None
|
||||
if option.impl_is_follower() and option_bag.index is None:
|
||||
value = []
|
||||
if length is None:
|
||||
length = self.cfgimpl_get_length_leadership(option_bag)
|
||||
for idx in range(length):
|
||||
soption_bag = OptionBag()
|
||||
soption_bag.set_option(option,
|
||||
|
@ -686,8 +686,7 @@ class Option(BaseOption):
|
||||
fromconsistency.append(cons_id)
|
||||
coption_bag.fromconsistency = fromconsistency
|
||||
current_value = option_bag.config_bag.context.getattr(path,
|
||||
coption_bag,
|
||||
follower_check_length=False)
|
||||
coption_bag)
|
||||
if index_ is None and index is not None:
|
||||
#if self is a follower and current_option is a leader and func not in ALLOWED_CONST_LIST
|
||||
#return only the value of the leader for isolate follower
|
||||
|
@ -513,12 +513,12 @@ class Values(object):
|
||||
length,
|
||||
option_bag.option.impl_get_display_name()))
|
||||
current_value.pop(index)
|
||||
self.setvalue(current_value,
|
||||
option_bag,
|
||||
_commit=True)
|
||||
subconfig.cfgimpl_get_description().pop(self,
|
||||
index,
|
||||
option_bag)
|
||||
self.setvalue(current_value,
|
||||
option_bag,
|
||||
_commit=True)
|
||||
|
||||
#______________________________________________________________________
|
||||
# information
|
||||
|
Reference in New Issue
Block a user