rename function template info()to server()

develop
Самоукин Алексей 14 years ago
parent 31738e4fa4
commit 5c5f1c7a98

@ -100,6 +100,8 @@ class var:
class DataVars(object):
"""Класс хранения переменных шаблонов"""
class DataVarsError(Exception):
"""Класс ошибок"""
pass
@ -469,6 +471,31 @@ storage of variables templates")%location
valueVar = value
return valueVar.encode("UTF-8")
def GetRemoteInfo(self, envFile):
"""Получение информационных переменных
из файла envFile"""
optionsInfo = {}
# получить объект настроенный на ini
config = iniParser(envFile)
# получаем все секции из конфигурационного файла
allsect = config.getAllSectionNames()
if allsect:
# Секция (название сервиса)
for section in allsect:
allvars = config.getAreaVars(section)
if allvars == False:
return False
# Опции сервиса
options = {}
for varName, value in allvars.items():
varName = varName.encode("UTF-8")
value=cl_utils.convertStrListDict(value.encode("UTF-8"))
options[varName] = value
if options:
optionsInfo[section] = options
return optionsInfo
def flIniFile(self):
'''Заместить значение переменных значениями из ини файлов
@ -547,6 +574,7 @@ storage of variables templates")%location
return foundVar
def getVars(self, type_names=None):
"""Словарь переменных для печати"""
ret = {}
for section, moduleVar, fillobj in self._importList:
dataVar=moduleVar.Data
@ -568,8 +596,8 @@ storage of variables templates")%location
ret[nameVar] = getattr(self, nameVar)
return ret
#распечатать список переменных с значениями
def printVars(self,type_names=None):
"""распечатать список переменных с значениями"""
var=None
var=self.getVars(type_names)
mlen_name=0;
@ -587,9 +615,9 @@ storage of variables templates")%location
plist.sort()
br = cl_utils.fillstr("-",mlen_name) + " " +\
cl_utils.fillstr("-",mlen_mode) + " " + cl_utils.fillstr("-",10)
print "The list of variables:"
print "var name".center(mlen_name),\
"Mode","Value"
print _("The list of variables:")
print _("var name").center(mlen_name),\
_("Mode"),_("Value")
print br
for i in plist:
p_val=var[i].value

@ -2872,7 +2872,7 @@ class templateFunction(_error, _shareTemplate, _shareTermsFunction):
textTemplateTmp[resS.end():]
return textTemplateTmp
def funcInfo(self, funArgv, resS, localVars, textTemplateTmp):
def funcServer(self, funArgv, resS, localVars, textTemplateTmp):
"""Функция шаблона info(), выдает значение опций сервиса
из /var/calculate/remote/calculate.env
@ -2887,40 +2887,18 @@ class templateFunction(_error, _shareTemplate, _shareTermsFunction):
self.printErrTemplate()
cl_overriding.exit(1)
if not self.optionsInfo:
valueEnvData = self.objVar.Get("cl_env_data")
envData = {}
envData.update(valueEnvData)
if not "remote" in envData:
print _("Can not found env path 'remote' in template variable \
'cl_env_data'")
# файл /var/calculate/remote/server.env
envFile = self.objVar.Get("cl_env_server_path")
# получаем словарь всех информационных переменных
optInfo = self.objVar.GetRemoteInfo(envFile)
if optInfo is False:
self.printErrTemplate()
cl_overriding.exit(1)
# файл /var/calculate/remote/calculate.env
envFile = envData["remote"]
# получить объект настроенный на ini
config = iniParser(envFile)
# получаем все секции из конфигурационного файла
allsect = config.getAllSectionNames()
if allsect:
# Секция (название сервиса)
for section in allsect:
allvars = config.getAreaVars(section)
if allvars == False:
self.printErrTemplate()
cl_overriding.exit(1)
# Опции сервиса
options = {}
for varName, value in allvars.items():
varName = varName.encode("UTF-8")
if varName.endswith("%s_info" %section):
value = convertStrListDict(value.encode("UTF-8"))
options = value
if options:
self.optionsInfo[section] = options
if optInfo:
self.optionsInfo = optInfo
replace = ''
if service in self.optionsInfo:
if option in self.optionsInfo[service]:
replace = self.optionsInfo[service][option]
if service in self.optionsInfo and option in self.optionsInfo[service]:
replace = self.optionsInfo[service][option]
textTemplateTmp = textTemplateTmp[:resS.start()] + replace +\
textTemplateTmp[resS.end():]
return textTemplateTmp

@ -50,6 +50,10 @@ class Data:
# Пути к ini файлам (из cl_env_data)
cl_env_path = {}
# Путь к информационному файлу сервера
cl_env_server_path = {'official':True,
'value':'/var/calculate/remote/server.env'}
# Пути к файлам шаблонов
cl_template_path = {'value':["/usr/share/calculate-2.2/templates",
"/var/calculate/templates",

Loading…
Cancel
Save