|
|
|
@ -59,8 +59,6 @@ class var:
|
|
|
|
|
def __init__(self, parentObj):
|
|
|
|
|
# словарь зависимых переменных {имя:значение}
|
|
|
|
|
self.dependValues = {}
|
|
|
|
|
# тип переменной (атрибут type)
|
|
|
|
|
self.type = ('default')
|
|
|
|
|
# объект который создал этот объект
|
|
|
|
|
self.parentObj = parentObj
|
|
|
|
|
|
|
|
|
@ -208,17 +206,16 @@ class DataVars(object):
|
|
|
|
|
else:
|
|
|
|
|
return (dataVar,False)
|
|
|
|
|
|
|
|
|
|
def __setAttributesVar(self, var, nameVar, dict):
|
|
|
|
|
def __setAttributesVar(self, var, nameVar, dictVar):
|
|
|
|
|
"""Установка аттрибутов для созданного объекта var
|
|
|
|
|
|
|
|
|
|
название аттрибута и его значение берется из словаря dict
|
|
|
|
|
название аттрибута и его значение берется из словаря dictVar
|
|
|
|
|
"""
|
|
|
|
|
dict['type'] = nameVar.split('_')
|
|
|
|
|
if not set(dict.keys()) <= set(dir(var)):
|
|
|
|
|
if not set(dictVar.keys()) <= set(dir(var)):
|
|
|
|
|
raise self.DataVarsError(\
|
|
|
|
|
_("error initalize variable %s, incorrect data")%nameVar)
|
|
|
|
|
for nameAttr in dict.keys():
|
|
|
|
|
setattr(var,nameAttr, dict[nameAttr])
|
|
|
|
|
for nameAttr in dictVar.keys():
|
|
|
|
|
setattr(var, nameAttr, dictVar[nameAttr])
|
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
def __Get(self, nameVar):
|
|
|
|
@ -596,28 +593,37 @@ storage of variables templates")%location)
|
|
|
|
|
break
|
|
|
|
|
return foundVar
|
|
|
|
|
|
|
|
|
|
def getVars(self, type_names=None):
|
|
|
|
|
def getVars(self, varsFilter=None, varsNames=[]):
|
|
|
|
|
"""Словарь переменных для печати"""
|
|
|
|
|
# проверка фильтра
|
|
|
|
|
reFilter = False
|
|
|
|
|
if varsFilter:
|
|
|
|
|
try:
|
|
|
|
|
reFilter = re.compile("^%s$"%varsFilter)
|
|
|
|
|
except:
|
|
|
|
|
cl_overriding.printERROR(_("wrong vars filter '%s'")\
|
|
|
|
|
%str(varsFilter))
|
|
|
|
|
cl_overriding.exit(1)
|
|
|
|
|
ret = {}
|
|
|
|
|
for section, moduleVar, fillobj in self._importList:
|
|
|
|
|
dataVar=moduleVar.Data
|
|
|
|
|
dataVar = moduleVar.Data
|
|
|
|
|
dictVars = dir(dataVar)
|
|
|
|
|
for nameVar in dictVars:
|
|
|
|
|
if not "__" in nameVar:
|
|
|
|
|
if not (getattr(dataVar,nameVar).has_key("official") and\
|
|
|
|
|
getattr(dataVar,nameVar)['official']):
|
|
|
|
|
self.Get(nameVar)
|
|
|
|
|
if type_names:
|
|
|
|
|
varType =list(getattr(self, nameVar).type)
|
|
|
|
|
if not set(type_names)<=set(varType):
|
|
|
|
|
continue
|
|
|
|
|
ret[nameVar] = getattr(self, nameVar)
|
|
|
|
|
if not "__" in nameVar and not\
|
|
|
|
|
(getattr(dataVar,nameVar).has_key("official") and\
|
|
|
|
|
getattr(dataVar,nameVar)['official']):
|
|
|
|
|
if varsNames and not nameVar in varsNames:
|
|
|
|
|
continue
|
|
|
|
|
if reFilter and not reFilter.search(nameVar):
|
|
|
|
|
continue
|
|
|
|
|
self.Get(nameVar)
|
|
|
|
|
ret[nameVar] = getattr(self, nameVar)
|
|
|
|
|
return ret
|
|
|
|
|
|
|
|
|
|
def printVars(self,type_names=None):
|
|
|
|
|
def printVars(self, varsFilter=None, varsNames=[]):
|
|
|
|
|
"""распечатать список переменных с значениями"""
|
|
|
|
|
var=None
|
|
|
|
|
var=self.getVars(type_names)
|
|
|
|
|
var=self.getVars(varsFilter, varsNames)
|
|
|
|
|
mlen_name=0;
|
|
|
|
|
mlen_type=0;
|
|
|
|
|
mlen_mode=0;
|
|
|
|
|