master
Самоукин Алексей 14 years ago
parent 05bb471d3b
commit aa0cc6c07c

@ -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

Loading…
Cancel
Save