|
|
|
@ -620,35 +620,51 @@ storage of variables templates")%location)
|
|
|
|
|
ret[nameVar] = getattr(self, nameVar)
|
|
|
|
|
return ret
|
|
|
|
|
|
|
|
|
|
def printVars(self, varsFilter=None, varsNames=[]):
|
|
|
|
|
def printVars(self, varsFilter=None, varsNames=[], outFormat="default"):
|
|
|
|
|
"""распечатать список переменных с значениями"""
|
|
|
|
|
var=None
|
|
|
|
|
var=self.getVars(varsFilter, varsNames)
|
|
|
|
|
mlen_name=0;
|
|
|
|
|
mlen_type=0;
|
|
|
|
|
mlen_mode=0;
|
|
|
|
|
for i,j in var.items():
|
|
|
|
|
if len(i)>mlen_name:
|
|
|
|
|
mlen_name=len(i)
|
|
|
|
|
if not '[' in var[i].mode:
|
|
|
|
|
mode="[%s]"%(var[i].mode.lower())
|
|
|
|
|
var[i].mode=mode
|
|
|
|
|
if len(mode)>mlen_mode:
|
|
|
|
|
mlen_mode=len(mode)
|
|
|
|
|
plist=var.keys()
|
|
|
|
|
plist.sort()
|
|
|
|
|
br = fillstr("-",mlen_name) + " " +\
|
|
|
|
|
fillstr("-",mlen_mode) + " " + fillstr("-",10)
|
|
|
|
|
cl_overriding.printSUCCESS(_("The list of variables:"))
|
|
|
|
|
cl_overriding.printSUCCESS(_("Variable name").center(mlen_name)+ " " +\
|
|
|
|
|
_("Mode") + " " +_("Value"))
|
|
|
|
|
cl_overriding.printSUCCESS(br)
|
|
|
|
|
for i in plist:
|
|
|
|
|
p_val=var[i].value
|
|
|
|
|
if var[i].official:
|
|
|
|
|
continue
|
|
|
|
|
columnWrite( i, mlen_name, var[i].mode.lower(), mlen_mode, p_val)
|
|
|
|
|
cl_overriding.printSUCCESS(br)
|
|
|
|
|
if outFormat == "default":
|
|
|
|
|
mlen_name=0;
|
|
|
|
|
mlen_type=0;
|
|
|
|
|
mlen_mode=0;
|
|
|
|
|
for i,j in var.items():
|
|
|
|
|
if len(i)>mlen_name:
|
|
|
|
|
mlen_name=len(i)
|
|
|
|
|
if not '[' in var[i].mode:
|
|
|
|
|
mode="[%s]"%(var[i].mode.lower())
|
|
|
|
|
var[i].mode=mode
|
|
|
|
|
if len(mode)>mlen_mode:
|
|
|
|
|
mlen_mode=len(mode)
|
|
|
|
|
plist=var.keys()
|
|
|
|
|
plist.sort()
|
|
|
|
|
br = fillstr("-",mlen_name) + " " +\
|
|
|
|
|
fillstr("-",mlen_mode) + " " + fillstr("-",10)
|
|
|
|
|
cl_overriding.printSUCCESS(_("The list of variables:"))
|
|
|
|
|
cl_overriding.printSUCCESS(_("Variable name").center(mlen_name) +\
|
|
|
|
|
" " + _("Mode") + " " +_("Value"))
|
|
|
|
|
cl_overriding.printSUCCESS(br)
|
|
|
|
|
for i in plist:
|
|
|
|
|
p_val=var[i].value
|
|
|
|
|
if var[i].official:
|
|
|
|
|
continue
|
|
|
|
|
columnWrite( i, mlen_name, var[i].mode.lower(), mlen_mode, p_val)
|
|
|
|
|
cl_overriding.printSUCCESS(br)
|
|
|
|
|
elif outFormat == "xml":
|
|
|
|
|
xmlObj = _varsXML()
|
|
|
|
|
varNames = sorted(var.keys())
|
|
|
|
|
for name in varNames:
|
|
|
|
|
value = var[name].value
|
|
|
|
|
typeVar = type(value)
|
|
|
|
|
if typeVar in (str, int, float):
|
|
|
|
|
xmlObj.addVar(name, value)
|
|
|
|
|
elif typeVar == list:
|
|
|
|
|
valueList = value
|
|
|
|
|
xmlObj.addList(name, valueList)
|
|
|
|
|
elif typeVar == dict:
|
|
|
|
|
valueDict = value
|
|
|
|
|
xmlObj.addDict(name, valueDict)
|
|
|
|
|
cl_overriding.printSUCCESS(xmlObj.toXML(),printBR=False)
|
|
|
|
|
|
|
|
|
|
def GetList(self, nameVar, spl=","):
|
|
|
|
|
"""Получить значение переменной в виде списка
|
|
|
|
@ -816,3 +832,59 @@ class glob_attr:
|
|
|
|
|
pass
|
|
|
|
|
return False
|
|
|
|
|
|
|
|
|
|
class _varsXML:
|
|
|
|
|
declaration = '<?xml version="1.0" encoding="UTF-8"?>\n'
|
|
|
|
|
rootElementStart = '<variables>\n'
|
|
|
|
|
rootElementEnd = '</variables>\n'
|
|
|
|
|
indent = " "
|
|
|
|
|
templateVar = """%(indent)s<var type="var" name="%(name)s">\n\
|
|
|
|
|
%(indent)s%(indent)s<value>%(value)s</value>\n\
|
|
|
|
|
%(indent)s</var>\n"""
|
|
|
|
|
templateListStart = """%(indent)s<var type="list" name="%(name)s">\n"""
|
|
|
|
|
templateListValue = """%(indent)s%(indent)s<value>%(value)s</value>\n"""
|
|
|
|
|
templateListEnd = """%(indent)s</var>\n"""
|
|
|
|
|
templateDictStart = """%(indent)s<var type="dict" name="%(name)s">\n"""
|
|
|
|
|
templateDictValue = """%(indent)s%(indent)s<value name="%(name)s">%(value)s\
|
|
|
|
|
</value>\n"""
|
|
|
|
|
templateDictEnd = """%(indent)s</var>\n"""
|
|
|
|
|
templateDoc = "%(declaration)s%(rootStart)s%(vars)s%(rootEnd)s"
|
|
|
|
|
varsXML = ""
|
|
|
|
|
|
|
|
|
|
def addVar(self, name, value):
|
|
|
|
|
"""Add var to XML"""
|
|
|
|
|
dictVar = {"indent":self.indent,
|
|
|
|
|
"name":name,
|
|
|
|
|
"value":str(value)}
|
|
|
|
|
self.varsXML += self.templateVar %dictVar
|
|
|
|
|
|
|
|
|
|
def addList(self, name, valueList):
|
|
|
|
|
"""Add var (valie - list) to XML"""
|
|
|
|
|
dictVar = {"indent":self.indent,
|
|
|
|
|
"name":name}
|
|
|
|
|
varXml = self.templateListStart %dictVar
|
|
|
|
|
for value in valueList:
|
|
|
|
|
dictValue = {"indent":self.indent,
|
|
|
|
|
"value":str(value)}
|
|
|
|
|
varXml += self.templateListValue %dictValue
|
|
|
|
|
varXml += self.templateListEnd %dictVar
|
|
|
|
|
self.varsXML += varXml
|
|
|
|
|
|
|
|
|
|
def addDict(self, name, valueDict):
|
|
|
|
|
"""Add var (valie - list) to XML"""
|
|
|
|
|
dictVar = {"indent":self.indent,
|
|
|
|
|
"name":name}
|
|
|
|
|
varXml = self.templateDictStart %dictVar
|
|
|
|
|
for nameDict, valueDict in valueDict.items():
|
|
|
|
|
dictValue = {"indent":self.indent,
|
|
|
|
|
"name":nameDict,
|
|
|
|
|
"value":str(valueDict)}
|
|
|
|
|
varXml += self.templateDictValue %dictValue
|
|
|
|
|
varXml += self.templateDictEnd %dictVar
|
|
|
|
|
self.varsXML += varXml
|
|
|
|
|
|
|
|
|
|
def toXML(self):
|
|
|
|
|
dictXML = {"declaration":self.declaration,
|
|
|
|
|
"rootStart":self.rootElementStart,
|
|
|
|
|
"vars":self.varsXML,
|
|
|
|
|
"rootEnd":self.rootElementEnd}
|
|
|
|
|
return self.templateDoc %dictXML
|