Changed algorithm of processing templates for scripts

develop
Самоукин Алексей 14 years ago
parent f46ebb518a
commit 0dd287461d

@ -324,7 +324,7 @@ class fileHeader(_terms):
# Параметры описанные в заголовке файла шаблона # Параметры описанные в заголовке файла шаблона
self.params = {} self.params = {}
# некорректные параметры # некорректные параметры
incorrectParams = set([]) incorrectParams = []
# Удаление Заголовка Calculate # Удаление Заголовка Calculate
if comment: if comment:
titleFirst = _("Modified") titleFirst = _("Modified")
@ -344,7 +344,12 @@ class fileHeader(_terms):
reS = reCalcHeader.search(text) reS = reCalcHeader.search(text)
if reS: if reS:
self.body = text[reS.end():] self.body = text[reS.end():]
# Поиск строки запустка (#!/bin/bash и.т. д)
if fileType != "bin":
reExecRes = self.reExecStr.search(self.body)
if reExecRes:
self.execStr = self.body[reExecRes.start():reExecRes.end()]
self.body = self.body[reExecRes.end():]
if fileType != False: if fileType != False:
if fileType=="bin": if fileType=="bin":
self.params["format"] = fileType self.params["format"] = fileType
@ -407,11 +412,7 @@ class fileHeader(_terms):
self.comment = self._getComment() self.comment = self._getComment()
self.fileType = self._getType() self.fileType = self._getType()
self.typeAppend = self._getAppend() self.typeAppend = self._getAppend()
reExecRes = self.reExecStr.search(self.body) if not incorrectParams and self.params:
if reExecRes:
self.execStr = self.body[reExecRes.start():reExecRes.end()]
self.body = self.body[reExecRes.end():]
if not incorrectParams:
incorrectParams = set(self.params.keys()) - set(self.allowParam) incorrectParams = set(self.params.keys()) - set(self.allowParam)
if incorrectParams: if incorrectParams:
self.headerTerm = False self.headerTerm = False
@ -4337,6 +4338,16 @@ re.M|re.S)
if objHeadNew.comment: if objHeadNew.comment:
objHeadOld = fileHeader(nameFileConfig, self.textConfig, objHeadOld = fileHeader(nameFileConfig, self.textConfig,
objHeadNew.comment) objHeadNew.comment)
elif typeAppendTemplate in ("before", "after"):
objHeadOld = fileHeader(nameFileConfig, self.textConfig)
# Строка вызова скрипта (#!/bin/bash ...)
execStr = ""
if objHeadNew.execStr:
execStr = objHeadNew.execStr
elif objHeadOld.execStr:
execStr = objHeadOld.execStr
if objHeadNew.fileType: if objHeadNew.fileType:
formatTemplate = objHeadNew.fileType formatTemplate = objHeadNew.fileType
typeAppendTemplate = objHeadNew.typeAppend typeAppendTemplate = objHeadNew.typeAppend
@ -4361,9 +4372,8 @@ re.M|re.S)
self.setError(_("False template") + ": " +\ self.setError(_("False template") + ": " +\
nameFileTemplate) nameFileTemplate)
return False return False
if objHeadNew.execStr: if execStr:
self.textConfig = objHeadNew.execStr+title+\ self.textConfig = execStr + title + self.textTemplate
self.textTemplate
else: else:
self.textConfig = title + self.textTemplate self.textConfig = title + self.textTemplate
self.saveConfFile() self.saveConfFile()
@ -4442,10 +4452,8 @@ re.M|re.S)
tmpTemplate = self.textTemplate + self.textConfig tmpTemplate = self.textTemplate + self.textConfig
else: else:
tmpTemplate = self.textTemplate + "\n" + self.textConfig tmpTemplate = self.textTemplate + "\n" + self.textConfig
if objHeadNew.execStr: if execStr:
self.textConfig = objHeadNew.execStr + title + tmpTemplate self.textConfig = execStr + title + tmpTemplate
elif objHeadOld and objHeadOld.execStr:
self.textConfig = objHeadOld.execStr + title + tmpTemplate
else: else:
self.textConfig = title + tmpTemplate self.textConfig = title + tmpTemplate
@ -4464,10 +4472,8 @@ re.M|re.S)
tmpTemplate = self.textConfig + self.textTemplate tmpTemplate = self.textConfig + self.textTemplate
else: else:
tmpTemplate = self.textConfig + "\n" + self.textTemplate tmpTemplate = self.textConfig + "\n" + self.textTemplate
if objHeadNew.execStr: if execStr:
self.textConfig = objHeadNew.execStr + title + tmpTemplate self.textConfig = execStr + title + tmpTemplate
elif objHeadOld and objHeadOld.execStr:
self.textConfig = objHeadOld.execStr + title + tmpTemplate
else: else:
self.textConfig = title + tmpTemplate self.textConfig = title + tmpTemplate
self.saveConfFile() self.saveConfFile()
@ -4508,14 +4514,6 @@ re.M|re.S)
if not self.textConfig or\ if not self.textConfig or\
not reNoClean.search(self.textConfig): not reNoClean.search(self.textConfig):
self.textConfig = "" self.textConfig = ""
#if objHeadNew.execStr:
#self.textConfig = objHeadNew.execStr + \
#title + objTemplNew.getConfig().encode("UTF-8")
#else:
#self.textConfig = title +\
#objTemplNew.getConfig().encode("UTF-8")
#self.saveConfFile()
#return True
objHeadOld = fileHeader(nameFileConfig, self.textConfig, objHeadOld = fileHeader(nameFileConfig, self.textConfig,
objTemplNew._comment) objTemplNew._comment)
@ -4550,12 +4548,9 @@ re.M|re.S)
data.insert(1,title) data.insert(1,title)
self.textConfig = "\n".join(data) self.textConfig = "\n".join(data)
else: else:
if objHeadNew.execStr: if execStr:
self.textConfig = objHeadNew.execStr + title +\ self.textConfig = execStr + title +\
objTemplOld.getConfig().encode("UTF-8") objTemplOld.getConfig().encode("UTF-8")
elif objHeadOld.execStr:
self.textConfig = objHeadOld.execStr + title +\
objTemplOld.getConfig().encode("UTF-8")
else: else:
self.textConfig = title +\ self.textConfig = title +\
objTemplOld.getConfig().encode("UTF-8") objTemplOld.getConfig().encode("UTF-8")

Loading…
Cancel
Save