|
|
|
@ -57,6 +57,13 @@ class _terms(_error):
|
|
|
|
|
"""
|
|
|
|
|
# регулярное выражение для не версии
|
|
|
|
|
_re_not_Version = re.compile("[^0-9\.]|^$")
|
|
|
|
|
# регулярное выражение для функции
|
|
|
|
|
_reFunction = re.compile(\
|
|
|
|
|
"([a-zA-Z0-9\_\-]+)\([a-zA-Z0-9_\-\+\,\*\/\.\'\"~]+\)")
|
|
|
|
|
# Регулярное выражение для названия переменной
|
|
|
|
|
_reDenyName = re.compile("[^a-zA-Z0-9\_\-]")
|
|
|
|
|
# Регулярное выражение для сравниваемого значения
|
|
|
|
|
_reDenyValue = re.compile("[^0-9a-zA-Z_\.-]")
|
|
|
|
|
|
|
|
|
|
def _convertVers(self, verA, verB):
|
|
|
|
|
"""Конвертирование номеров версий для корректного сравнения
|
|
|
|
@ -125,15 +132,12 @@ class _terms(_error):
|
|
|
|
|
listEqual.append(k)
|
|
|
|
|
else:
|
|
|
|
|
#проверка на допустимость названия переменной
|
|
|
|
|
reDenyName = re.compile("[^a-zA-Z0-9\_\-]")
|
|
|
|
|
flagFunction = False
|
|
|
|
|
if reDenyName.search(vals[0]):
|
|
|
|
|
if self._reDenyName.search(vals[0]):
|
|
|
|
|
#проверка на допустимость функции
|
|
|
|
|
flagError = True
|
|
|
|
|
if function:
|
|
|
|
|
reFunction = re.compile(\
|
|
|
|
|
"([a-zA-Z0-9\_\-]+)\([a-zA-Z0-9_\-\+\,\*\/\.\'\"~]+\)")
|
|
|
|
|
searchFunct = reFunction.search(vals[0])
|
|
|
|
|
searchFunct = self._reFunction.search(vals[0])
|
|
|
|
|
if searchFunct:
|
|
|
|
|
flagError = False
|
|
|
|
|
flagFunction = True
|
|
|
|
@ -142,8 +146,7 @@ class _terms(_error):
|
|
|
|
|
self.setError(textError)
|
|
|
|
|
return False
|
|
|
|
|
#проверка на допустимость значения
|
|
|
|
|
reDenyValue = re.compile("[^0-9a-zA-Z_\.-]")
|
|
|
|
|
if reDenyValue.search(vals[1]):
|
|
|
|
|
if self._reDenyValue.search(vals[1]):
|
|
|
|
|
self.setError("'%s'"%term + " " + _("incorrect"))
|
|
|
|
|
self.setError(textError)
|
|
|
|
|
return False
|
|
|
|
@ -154,9 +157,6 @@ class _terms(_error):
|
|
|
|
|
self.setError("'%s'"%term + " " + _("incorrect"))
|
|
|
|
|
self.setError(textError)
|
|
|
|
|
return False
|
|
|
|
|
if valVars == "" and\
|
|
|
|
|
not self._re_not_Version.search(vals[1]):
|
|
|
|
|
valVars = "0"
|
|
|
|
|
if "load" == searchFunct.group(1):
|
|
|
|
|
if re.search("\(\s*num\s*,",vals[0]):
|
|
|
|
|
if valVars:
|
|
|
|
@ -170,6 +170,13 @@ class _terms(_error):
|
|
|
|
|
flagIntTypeVar = True
|
|
|
|
|
else:
|
|
|
|
|
flagIntTypeVar = False
|
|
|
|
|
else:
|
|
|
|
|
if valVars == "" and\
|
|
|
|
|
not self._re_not_Version.search(vals[1]):
|
|
|
|
|
valVars = "0"
|
|
|
|
|
elif vals[1] == "" and\
|
|
|
|
|
not self._re_not_Version.search(valVars):
|
|
|
|
|
vals[1] = "0"
|
|
|
|
|
else:
|
|
|
|
|
try:
|
|
|
|
|
valVars = self.objVar.Get(vals[0])
|
|
|
|
@ -193,12 +200,11 @@ class _terms(_error):
|
|
|
|
|
flagNotIniFunct = False
|
|
|
|
|
# Cравниваем номера версий
|
|
|
|
|
if flagNotIniFunct:
|
|
|
|
|
if "_ver" in vals[0] or \
|
|
|
|
|
(flagFunction and "pkg" == searchFunct.group(1)) or\
|
|
|
|
|
(flagFunction and "load" == searchFunct.group(1) and\
|
|
|
|
|
re.search("\(\s*ver\s*,",vals[0])):
|
|
|
|
|
if vals[1] == "":
|
|
|
|
|
vals[1] = "0"
|
|
|
|
|
if not (valVars == "" and vals[1] == "") and\
|
|
|
|
|
("_ver" in vals[0] or\
|
|
|
|
|
(flagFunction and searchFunct.group(1) == "pkg") or\
|
|
|
|
|
(flagFunction and searchFunct.group(1) == "load" and\
|
|
|
|
|
re.search("\(\s*ver\s*,",vals[0]))):
|
|
|
|
|
# Проверка значения на версию
|
|
|
|
|
if self._re_not_Version.search(vals[1]):
|
|
|
|
|
self.setError("'%s'"%term + " " + _("incorrect"))
|
|
|
|
@ -215,6 +221,7 @@ class _terms(_error):
|
|
|
|
|
listEqual.append("1")
|
|
|
|
|
else:
|
|
|
|
|
listEqual.append("0")
|
|
|
|
|
flagNotIniFunct = False
|
|
|
|
|
else:
|
|
|
|
|
if flagIntTypeVar == None:
|
|
|
|
|
flagIntTypeVar = True
|
|
|
|
|