2 Commits

2 changed files with 14 additions and 5 deletions

View File

@ -1,5 +1,5 @@
from .api import Config
__version__ = "0.2"
__version__ = "0.4"
__all__ = ('Config',)

View File

@ -326,11 +326,11 @@ class TiramisuOptionValue(_Value):
def set(self, value):
type_ = self.schema['type']
leader_old_value = undefined
if self.config.is_hidden(self.path, self.index):
remote = self.config.form.get(self.path, {}).get('remote', False)
if not remote and self.config.is_hidden(self.path, self.index):
raise PropertiesOptionError(None, {'disabled'}, None, opt_type='option')
if self.config.isleader(self.path):
leader_old_value = self.config.get_value(self.path)
remote = self.config.form.get(self.path, {}).get('remote', False)
if self.index is None and self.schema.get('isMulti', False):
if not isinstance(value, list):
raise ValueError('value must be a list')
@ -574,7 +574,7 @@ class ContextOption(_Option):
schema: Dict) -> None:
self.config = config
self.schema = {'properties': schema}
self.index = None
self.index = None
def __call__(self,
path: str,
@ -597,7 +597,7 @@ class ContextOwner:
schema: Dict) -> None:
self.config = config
self.schema = {'properties': schema}
self.index = None
self.index = None
def get(self):
return self.config.global_model.get('owner', 'tmp')
@ -644,6 +644,7 @@ class Config:
# config
def __init__(self,
dico):
self._unrestraint = False
if DEBUG:
from pprint import pprint
pprint(dico)
@ -668,6 +669,7 @@ class Config:
self.root = first_path.rsplit('.', 1)[0]
else:
self.root = ''
self.dico = dico
def __getattr__(self,
subfunc: str) -> Any:
@ -682,6 +684,11 @@ class Config:
if subfunc == 'owner':
return ContextOwner(self,
self.schema)
if subfunc == 'unrestraint':
ret = Config(self.dico)
ret._unrestraint = True
ret.temp = self.temp
return ret
raise APIError(_('please specify a valid sub function ({})').format(subfunc))
def add_value(self,
@ -847,6 +854,8 @@ class Config:
path: str,
index: Optional[int],
permissive: bool=False) -> bool:
if self._unrestraint:
return False
if permissive:
property_ = 'hidden'
needs = True