Add third option in template function load()

develop
Самоукин Алексей 14 years ago
parent 8a14c4466d
commit 41c69dc405

@ -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():]

Loading…
Cancel
Save