implement unrestraint for tiramisu-cmdline-parser
This commit is contained in:
parent
039e2e6b7b
commit
70389d70cd
|
@ -1,5 +1,5 @@
|
||||||
from .api import Config
|
from .api import Config
|
||||||
|
|
||||||
__version__ = "0.2"
|
__version__ = "0.4"
|
||||||
__all__ = ('Config',)
|
__all__ = ('Config',)
|
||||||
|
|
||||||
|
|
|
@ -644,6 +644,7 @@ class Config:
|
||||||
# config
|
# config
|
||||||
def __init__(self,
|
def __init__(self,
|
||||||
dico):
|
dico):
|
||||||
|
self._unrestraint = False
|
||||||
if DEBUG:
|
if DEBUG:
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
pprint(dico)
|
pprint(dico)
|
||||||
|
@ -668,6 +669,7 @@ class Config:
|
||||||
self.root = first_path.rsplit('.', 1)[0]
|
self.root = first_path.rsplit('.', 1)[0]
|
||||||
else:
|
else:
|
||||||
self.root = ''
|
self.root = ''
|
||||||
|
self.dico = dico
|
||||||
|
|
||||||
def __getattr__(self,
|
def __getattr__(self,
|
||||||
subfunc: str) -> Any:
|
subfunc: str) -> Any:
|
||||||
|
@ -682,6 +684,11 @@ class Config:
|
||||||
if subfunc == 'owner':
|
if subfunc == 'owner':
|
||||||
return ContextOwner(self,
|
return ContextOwner(self,
|
||||||
self.schema)
|
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))
|
raise APIError(_('please specify a valid sub function ({})').format(subfunc))
|
||||||
|
|
||||||
def add_value(self,
|
def add_value(self,
|
||||||
|
@ -847,6 +854,8 @@ class Config:
|
||||||
path: str,
|
path: str,
|
||||||
index: Optional[int],
|
index: Optional[int],
|
||||||
permissive: bool=False) -> bool:
|
permissive: bool=False) -> bool:
|
||||||
|
if self._unrestraint:
|
||||||
|
return False
|
||||||
if permissive:
|
if permissive:
|
||||||
property_ = 'hidden'
|
property_ = 'hidden'
|
||||||
needs = True
|
needs = True
|
||||||
|
|
Loading…
Reference in New Issue