|
|
|
@ -2601,49 +2601,55 @@ class templateFunction(_error, _shareTemplate, _shareTermsFunction):
|
|
|
|
|
если один параметр - выводит значение локальной переменной
|
|
|
|
|
"""
|
|
|
|
|
terms = funArgv.split(",")
|
|
|
|
|
if not terms or not terms[0].strip() or\
|
|
|
|
|
(len(terms)==2 and not terms[1].strip()) or\
|
|
|
|
|
len(terms)>2:
|
|
|
|
|
if terms:
|
|
|
|
|
lenTerms = len(terms)
|
|
|
|
|
if not terms[0].strip() or\
|
|
|
|
|
(lenTerms==2 and not terms[1].strip()) or\
|
|
|
|
|
(lenTerms==3 and not terms[2].strip()) or\
|
|
|
|
|
lenTerms>3:
|
|
|
|
|
self.printErrTemplate()
|
|
|
|
|
cl_overriding.exit(1)
|
|
|
|
|
else:
|
|
|
|
|
self.printErrTemplate()
|
|
|
|
|
cl_overriding.exit(1)
|
|
|
|
|
if len(terms) == 2:
|
|
|
|
|
flagNotRootFS = True
|
|
|
|
|
if lenTerms == 3:
|
|
|
|
|
if terms[2] =="root":
|
|
|
|
|
flagNotRootFS = False
|
|
|
|
|
else:
|
|
|
|
|
self.printErrTemplate()
|
|
|
|
|
cl_overriding.printERROR(\
|
|
|
|
|
_("Third argument function is not 'root'"))
|
|
|
|
|
cl_overriding.exit(1)
|
|
|
|
|
if lenTerms >= 2:
|
|
|
|
|
if not terms[0] in ["ver","num","char","key"]:
|
|
|
|
|
self.printErrTemplate()
|
|
|
|
|
cl_overriding.printERROR(\
|
|
|
|
|
_("first argument function is not 'ver' or 'num' or 'char'"))
|
|
|
|
|
cl_overriding.exit(1)
|
|
|
|
|
if len(terms) == 1:
|
|
|
|
|
|
|
|
|
|
if lenTerms == 1:
|
|
|
|
|
fileName = terms[0].strip()
|
|
|
|
|
# Если домашняя директория
|
|
|
|
|
if fileName[0] == "~":
|
|
|
|
|
# Получаем директорию пользователя
|
|
|
|
|
fileName = os.path.join(self.homeDir,
|
|
|
|
|
fileName.partition("/")[2],"")[:-1]
|
|
|
|
|
elif fileName[0] != "/":
|
|
|
|
|
self.printErrTemplate()
|
|
|
|
|
cl_overriding.printERROR(_("wrong path '%s'")%fileName)
|
|
|
|
|
cl_overriding.exit(1)
|
|
|
|
|
else:
|
|
|
|
|
fileName = pathJoin(self._baseDir, fileName)
|
|
|
|
|
else:
|
|
|
|
|
fileName = terms[1].strip()
|
|
|
|
|
# Если домашняя директория
|
|
|
|
|
if fileName[0] == "~":
|
|
|
|
|
# Получаем директорию пользователя
|
|
|
|
|
fileName = os.path.join(self.homeDir,
|
|
|
|
|
fileName.partition("/")[2],"")[:-1]
|
|
|
|
|
elif fileName[0] != "/":
|
|
|
|
|
self.printErrTemplate()
|
|
|
|
|
cl_overriding.printERROR(_("wrong path '%s'")%fileName)
|
|
|
|
|
cl_overriding.exit(1)
|
|
|
|
|
else:
|
|
|
|
|
# Если домашняя директория
|
|
|
|
|
if fileName[0] == "~":
|
|
|
|
|
# Получаем директорию пользователя
|
|
|
|
|
fileName = os.path.join(self.homeDir,
|
|
|
|
|
fileName.partition("/")[2],"")[:-1]
|
|
|
|
|
elif fileName[0] != "/":
|
|
|
|
|
self.printErrTemplate()
|
|
|
|
|
cl_overriding.printERROR(_("wrong path '%s'")%fileName)
|
|
|
|
|
cl_overriding.exit(1)
|
|
|
|
|
else:
|
|
|
|
|
if flagNotRootFS:
|
|
|
|
|
fileName = pathJoin(self._baseDir,fileName)
|
|
|
|
|
replace = ""
|
|
|
|
|
if os.path.exists(fileName):
|
|
|
|
|
FD = open(fileName)
|
|
|
|
|
replace = FD.read().strip()
|
|
|
|
|
FD.close
|
|
|
|
|
if not replace and len(terms) == 2 and terms[0] in ["ver","num"]:
|
|
|
|
|
if not replace and lenTerms >= 2 and terms[0] in ["ver","num"]:
|
|
|
|
|
replace = "0"
|
|
|
|
|
textTemplateTmp = textTemplateTmp[:resS.start()] + replace +\
|
|
|
|
|
textTemplateTmp[resS.end():]
|
|
|
|
|