Добавлены методы для определения изменения параметра через командную строку

legacy27
Mike Hiretsky 6 years ago
parent 027bdce05a
commit 73228cde0e

@ -149,6 +149,9 @@ class VariableInterface(object):
def invalidate(self, force=False): def invalidate(self, force=False):
pass pass
def is_console_set(self, varname):
pass
class Variable(VariableInterface): class Variable(VariableInterface):
""" """
@ -268,6 +271,9 @@ class Variable(VariableInterface):
return [[]] return [[]]
return "" return ""
def is_console_set(self, varname):
return self.parent.is_console_set(varname)
def GetBool(self, varname): def GetBool(self, varname):
return self.isTrue(self.Get(varname)) return self.isTrue(self.Get(varname))
@ -1232,6 +1238,7 @@ class DataVars(SimpleDataVars):
self.defaultModule = "main" self.defaultModule = "main"
self.importedModules = [] self.importedModules = []
self.iniCache = {} self.iniCache = {}
self.map_opt_vars = {}
@contextmanager @contextmanager
def useDefaultModule(self, modulename): def useDefaultModule(self, modulename):
@ -1757,8 +1764,18 @@ class DataVars(SimpleDataVars):
for var in chain(normal, expert): for var in chain(normal, expert):
varname = var.rpartition('.')[2] varname = var.rpartition('.')[2]
self.mapVarGroup[varname] = lastIndex self.mapVarGroup[varname] = lastIndex
objVar = self.getInfo(varname)
if objVar.opt is not None:
for opname in objVar.opt:
self.map_opt_vars[opname] = varname
return self return self
def is_console_set(self, varname):
for op in self.Get('cl_console_args'):
if self.map_opt_vars.get(op, '') == varname:
return True
return False
def getGroups(self): def getGroups(self):
""" """
Get groups variables Get groups variables

@ -782,3 +782,11 @@ class VariableClHelpSet(ReadonlyVariable):
""" """
type = "bool" type = "bool"
value = "off" value = "off"
class VariableClConsoleArgs(Variable):
"""
Список аргументов переданных через консоль
"""
type = "list"
value = []

Loading…
Cancel
Save