diff --git a/pym/cl_profile.py b/pym/cl_profile.py index 54608aa..b29458e 100644 --- a/pym/cl_profile.py +++ b/pym/cl_profile.py @@ -4439,6 +4439,21 @@ class samba(objShare): [],"",[], False,False), nextNode) + # Удаление лишних переводов строк + childNodes = self.docObj.getFieldsArea(self.docObj.body) + lenBr = 0 + removeBrNodes = [] + for node in childNodes: + if node.tagName == "field" and\ + self.docObj.getTypeField(node) == "br": + lenBr += 1 + if lenBr > 2: + removeBrNodes.append(node) + else: + lenBr = 0 + # Удаление + for rmNode in removeBrNodes: + self.docObj.body.removeChild(rmNode) def join(self, sambaObj): @@ -5672,34 +5687,13 @@ class kde(samba): #print docObj.doc.toprettyxml() return docObj - def postXML(self): - """Последующая постобработка XML""" - # Для добавления перевода строки между областями если его нет - #print self.docObj.body.toprettyxml() - xmlAreas = xpath.Evaluate("child::area", self.docObj.body) - for xmlArea in xmlAreas: - if xmlArea.previousSibling and\ - self.docObj.getTypeField(xmlArea.previousSibling) == "br": - continue - firstArea = False - xmlFields = xpath.Evaluate("child::field", xmlArea) - if not (xmlFields and\ - (self.docObj.getTypeField(xmlFields[-1]) == "br" or\ - self.docObj.getTypeField(xmlFields[-1]) == "comment")): - if xmlArea.nextSibling: - parentNode = xmlArea.parentNode - nextNode = xmlArea.nextSibling - parentNode.insertBefore(self.docObj.createField("br", - [],"",[], - False,False), - nextNode) - def join(self, kdeObj): """Объединяем конфигурации""" if isinstance(kdeObj, kde): self.docObj.joinDoc(kdeObj.doc) self.postXML() + class xmlDocPlasma: """Класс для замены метода joinArea в xmlDoc для plasma""" # заменяемый метод для xmlDoc