diff --git a/pym/cl_profile.py b/pym/cl_profile.py index ad6a204..dfce974 100644 --- a/pym/cl_profile.py +++ b/pym/cl_profile.py @@ -180,78 +180,83 @@ class _terms(_error): flagNotIniFunct = True if flagFunction and "ini" == searchFunct.group(1): # Если значение функции и значение версия - if not self._re_not_Version.search(valVars) and\ - not self._re_not_Version.search(vals[1]): - verFile, verVar = self._convertVers(vals[1],valVars) - exec("res=("+"'"+verVar+"'"+sepF+"'"+verFile+"'"+")") - if res: - listEqual.append("1") - else: - listEqual.append("0") - flagNotIniFunct = False + if not self._re_not_Version.search(vals[1]): + if not valVars: + valVars = "0" + if not self._re_not_Version.search(valVars): + verFile, verVar = self._convertVers(vals[1],valVars) + exec(\ + "res=("+"'"+verVar+"'"+sepF+"'"+verFile+"'"+")") + if res: + listEqual.append("1") + else: + listEqual.append("0") + flagNotIniFunct = False # Cравниваем номера версий - if flagNotIniFunct and ("_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 self._re_not_Version.search(vals[1]): - self.setError("'%s'"%term + " " + _("incorrect")) - self.setError (_("Value is not version")) - return False - # Проверка значения функции на версию - if self._re_not_Version.search(valVars): - self.setError("'%s'"%term + " " + _("incorrect")) - self.setError (_("Value function is not version")) - return False - verFile, verVar = self._convertVers(vals[1],valVars) - exec("res=("+"'"+verVar+"'"+sepF+"'"+verFile+"'"+")") - if res: - listEqual.append("1") - else: - listEqual.append("0") - else: - if flagIntTypeVar == None: - flagIntTypeVar = True - try: - valVars = int(valVars) - except: - flagIntTypeVar = False - if flagIntTypeVar: - if not vals[1].strip(): - vals[1] = 0 - try: - valFile = int(vals[1]) - except: + 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 self._re_not_Version.search(vals[1]): + self.setError("'%s'"%term + " " + _("incorrect")) + self.setError (_("Value is not version")) + return False + # Проверка значения функции на версию + if self._re_not_Version.search(valVars): self.setError("'%s'"%term + " " + _("incorrect")) - self.setError (textError) + self.setError (_("Value function is not version")) return False - valVar = valVars - exec("res=(%d%s%d)"%(valVar,sepF,valFile)) + verFile, verVar = self._convertVers(vals[1],valVars) + exec("res=("+"'"+verVar+"'"+sepF+"'"+verFile+"'"+")") if res: listEqual.append("1") else: listEqual.append("0") else: - if sepF == "!=" or sepF == "==": + if flagIntTypeVar == None: + flagIntTypeVar = True + try: + valVars = int(valVars) + except: + flagIntTypeVar = False + if flagIntTypeVar: if not vals[1].strip(): - vals[1] = "" - valFile = vals[1] + vals[1] = 0 + try: + valFile = int(vals[1]) + except: + self.setError("'%s'"%term +" " +_("incorrect")) + self.setError (textError) + return False valVar = valVars - exec("res=("+'"""'+valVar+'"""'+sepF+"'"+valFile+\ - "'"+")") + exec("res=(%d%s%d)"%(valVar,sepF,valFile)) if res: listEqual.append("1") else: listEqual.append("0") else: - if valVars == "": - listEqual.append("0") + if sepF == "!=" or sepF == "==": + if not vals[1].strip(): + vals[1] = "" + valFile = vals[1] + valVar = valVars + exec(\ + "res=("+'"""'+valVar+'"""'+sepF+"'"+valFile+\ + "'"+")") + if res: + listEqual.append("1") + else: + listEqual.append("0") else: - self.setError("'%s'"%term + " "\ - + _("incorrect")) - self.setError (textError) - return False + if valVars == "": + listEqual.append("0") + else: + self.setError("'%s'"%term + " "\ + + _("incorrect")) + self.setError (textError) + return False exec("res=(%s)"%("".join(listEqual))) return res