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

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

@ -149,6 +149,9 @@ class VariableInterface(object):
def invalidate(self, force=False):
pass
def is_console_set(self, varname):
pass
class Variable(VariableInterface):
"""
@ -268,6 +271,9 @@ class Variable(VariableInterface):
return [[]]
return ""
def is_console_set(self, varname):
return self.parent.is_console_set(varname)
def GetBool(self, varname):
return self.isTrue(self.Get(varname))
@ -1232,6 +1238,7 @@ class DataVars(SimpleDataVars):
self.defaultModule = "main"
self.importedModules = []
self.iniCache = {}
self.map_opt_vars = {}
@contextmanager
def useDefaultModule(self, modulename):
@ -1757,8 +1764,18 @@ class DataVars(SimpleDataVars):
for var in chain(normal, expert):
varname = var.rpartition('.')[2]
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
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):
"""
Get groups variables

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

Loading…
Cancel
Save