diff --git a/pym/cl_base.py b/pym/cl_base.py index 9cd5b6d..7f36dae 100644 --- a/pym/cl_base.py +++ b/pym/cl_base.py @@ -251,12 +251,14 @@ class iniParser(cl_profile._error): self.setError(_("Unable to create file") + ": " + self.iniFile) return False FD = open(self.iniFile, "r") - textIni = FN.read() + textIni = FD.read() FD.close() return textIni def writeIniFile(self, txtConfig): FD = open(self.iniFile, "r+") + FD.truncate(0) + FD.seek(0) FD.write(txtConfig) FD.close() @@ -268,7 +270,7 @@ class iniParser(cl_profile._error): dictVar - словарь переменных """ textIni = self.openIniFile() - if not textIni: + if textIni == False: return False # создаем объект типа samba и записываем в него содержимое ini-файла objIni = cl_profile.samba(textIni) @@ -292,9 +294,28 @@ class iniParser(cl_profile._error): res = self.setVar(strHeader, dictVar) return res + def delArea(self, strHeader): + """Удаляем область из ini файла""" + delStrHeader = "!%s" %(strHeader) + dictVar = {"del":"del"} + res = self.setVar(delStrHeader, dictVar) + return res + def getVar(self, strHeader, nameVar): """Получаем значение переменной из ini-файла""" - pass + textIni = self.openIniFile() + if not textIni: + return False + # создаем объект типа samba и записываем в него содержимое ini-файла + objIni = cl_profile.samba(textIni) + # получаем ноду body + xmlBody = objIni.docObj.getNodeBody() + # находим в области переменную + res = objIni.docObj.getAreaFieldValues(strHeader, nameVar, xmlBody) + if res == False: + return None + else: + return res ############################################################################## diff --git a/pym/cl_profile.py b/pym/cl_profile.py index 649af0c..053eb23 100644 --- a/pym/cl_profile.py +++ b/pym/cl_profile.py @@ -937,24 +937,25 @@ class xmlDoc: return True def getAreaFieldValues(self, nameArea, nameField, xmlArea): - print xmlArea.toprettyxml() - """По имени области и и имени переменной выводит значениe переменной""" + """По имени области и имени переменной выводит значениe переменной + + поиск ведется только в полях 1-х потомках области xmlArea + """ namesAreaComare = xpath.Evaluate(\ "child::area/child::caption[child::name='%s']" %(nameArea), xmlArea) - print namesAreaComare fieldsVal = False for areaComp in namesAreaComare: fieldsVal = xpath.Evaluate(\ "child::field[child::name='%s'] "\ - %(nameField), areaComp.parentNode.parentNode) + %(nameField), areaComp.parentNode) if fieldsVal: break if not fieldsVal: return False - fieldValue = xpath.Evaluate("child::value'] ", - fieldsVal.parentNode) - print fieldValue.toprettyxml() + fieldValue = xpath.Evaluate("child::value", + fieldsVal[0]) + return fieldValue[0].firstChild.nodeValue def joinArea(self, baseNode, xmlNewArea):