|
|
@ -367,6 +367,68 @@ class _terms(_error, _shareTermsFunction):
|
|
|
|
return False
|
|
|
|
return False
|
|
|
|
return True
|
|
|
|
return True
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def splitParLine(self, linePar):
|
|
|
|
|
|
|
|
'''Split params line'''
|
|
|
|
|
|
|
|
def splitQuote(listPar, quoteSymbol):
|
|
|
|
|
|
|
|
listTerm = map(lambda x: x+quoteSymbol, ("=",">","<"))
|
|
|
|
|
|
|
|
flagQ = False
|
|
|
|
|
|
|
|
mass = []
|
|
|
|
|
|
|
|
v = ""
|
|
|
|
|
|
|
|
for i in listPar:
|
|
|
|
|
|
|
|
if i.count(quoteSymbol)==1:
|
|
|
|
|
|
|
|
if flagQ and i.endswith(quoteSymbol):
|
|
|
|
|
|
|
|
v = v + " " + i
|
|
|
|
|
|
|
|
mass.append(v)
|
|
|
|
|
|
|
|
v = ""
|
|
|
|
|
|
|
|
flagQ = False
|
|
|
|
|
|
|
|
elif filter(lambda x: x in i, listTerm):
|
|
|
|
|
|
|
|
flagQ = True
|
|
|
|
|
|
|
|
v = i
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
mass.append(i)
|
|
|
|
|
|
|
|
elif flagQ:
|
|
|
|
|
|
|
|
v = v + " " + i
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
mass.append(i)
|
|
|
|
|
|
|
|
foundPar = list(set(mass)-set(listPar))
|
|
|
|
|
|
|
|
return not flagQ, filter(lambda x: not x in foundPar, mass),foundPar
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
listPar = re.split("\s+",linePar)
|
|
|
|
|
|
|
|
flagFoundQ = "'" in linePar
|
|
|
|
|
|
|
|
flagFoundQQ = '"' in linePar
|
|
|
|
|
|
|
|
if flagFoundQ and flagFoundQQ:
|
|
|
|
|
|
|
|
flagQ, listSplQPar, listFoundQPar = splitQuote(listPar, "'")
|
|
|
|
|
|
|
|
if flagQ:
|
|
|
|
|
|
|
|
flagQQ, listSplQQPar, listFoundQQPar = splitQuote(listSplQPar,
|
|
|
|
|
|
|
|
'"')
|
|
|
|
|
|
|
|
if flagQQ:
|
|
|
|
|
|
|
|
listPar = listSplQQPar + listFoundQPar + listFoundQQPar
|
|
|
|
|
|
|
|
elif flagFoundQQ:
|
|
|
|
|
|
|
|
flagQQ, listSplQQPar, listFoundQQPar = splitQuote(listPar, '"')
|
|
|
|
|
|
|
|
if flagQQ:
|
|
|
|
|
|
|
|
listPar = listSplQQPar + listFoundQQPar
|
|
|
|
|
|
|
|
elif flagFoundQ:
|
|
|
|
|
|
|
|
flagQ, listSplQPar, listFoundQPar = splitQuote(listPar, "'")
|
|
|
|
|
|
|
|
if flagQ:
|
|
|
|
|
|
|
|
listPar = listSplQPar + listFoundQPar
|
|
|
|
|
|
|
|
if flagFoundQ:
|
|
|
|
|
|
|
|
listQPar = []
|
|
|
|
|
|
|
|
for par in listPar:
|
|
|
|
|
|
|
|
if par.endswith("'"):
|
|
|
|
|
|
|
|
listQPar.append(par.replace("'",""))
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
listQPar.append(par)
|
|
|
|
|
|
|
|
listPar = listQPar
|
|
|
|
|
|
|
|
if flagFoundQQ:
|
|
|
|
|
|
|
|
listQQPar = []
|
|
|
|
|
|
|
|
for par in listPar:
|
|
|
|
|
|
|
|
if par.endswith('"'):
|
|
|
|
|
|
|
|
listQQPar.append(par.replace('"',''))
|
|
|
|
|
|
|
|
else:
|
|
|
|
|
|
|
|
listQQPar.append(par)
|
|
|
|
|
|
|
|
listPar = listQQPar
|
|
|
|
|
|
|
|
return listPar
|
|
|
|
|
|
|
|
|
|
|
|
class fileHeader(_terms):
|
|
|
|
class fileHeader(_terms):
|
|
|
|
"""Обработка заголовков шаблонов и конфигурационных файлов
|
|
|
|
"""Обработка заголовков шаблонов и конфигурационных файлов
|
|
|
|
|
|
|
|
|
|
|
@ -459,7 +521,7 @@ class fileHeader(_terms):
|
|
|
|
self.body = self.body[reL.end():]
|
|
|
|
self.body = self.body[reL.end():]
|
|
|
|
else:
|
|
|
|
else:
|
|
|
|
self.body = ""
|
|
|
|
self.body = ""
|
|
|
|
paramList = re.split("\s+",paramLine)
|
|
|
|
paramList = self.splitParLine(paramLine)
|
|
|
|
if paramList:
|
|
|
|
if paramList:
|
|
|
|
for i in paramList:
|
|
|
|
for i in paramList:
|
|
|
|
foundTerm = False
|
|
|
|
foundTerm = False
|
|
|
@ -603,7 +665,7 @@ class dirHeader(_terms):
|
|
|
|
%self.body)
|
|
|
|
%self.body)
|
|
|
|
flagErrorBody = True
|
|
|
|
flagErrorBody = True
|
|
|
|
if not flagErrorBody:
|
|
|
|
if not flagErrorBody:
|
|
|
|
paramList = re.split("\s+",paramLine)
|
|
|
|
paramList = self.splitParLine(paramLine)
|
|
|
|
if paramList:
|
|
|
|
if paramList:
|
|
|
|
for i in paramList:
|
|
|
|
for i in paramList:
|
|
|
|
foundTerm = False
|
|
|
|
foundTerm = False
|
|
|
|