From 5484dfa0b485ccf515445b56cbdf87fd9af25ac2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=A1=D0=B0=D0=BC=D0=BE=D1=83=D0=BA=D0=B8=D0=BD=20=D0=90?= =?UTF-8?q?=D0=BB=D0=B5=D0=BA=D1=81=D0=B5=D0=B9?= Date: Tue, 18 Jan 2011 14:48:53 +0300 Subject: [PATCH] Bugfix, format procmail. --- pym/format/procmail.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/pym/format/procmail.py b/pym/format/procmail.py index 9badeb7..bf6a02f 100644 --- a/pym/format/procmail.py +++ b/pym/format/procmail.py @@ -15,6 +15,7 @@ # limitations under the License. import re +from xml import xpath from cl_template import objShare, xmlDoc class procmail(objShare): @@ -29,11 +30,28 @@ class procmail(objShare): reSepFields = re.compile(sepFields) # разделитель названия и значения переменной reSeparator = re.compile("=") + def __init__(self, text): self.text = text self.docObj = self.textToXML() self.doc = self.docObj.doc + def postXML(self): + """Последующая постобработка XML""" + xmlFields = xpath.Evaluate("child::field", self.docObj.body) + # Добавление переводов строк между полями + for node in xmlFields: + # Добавление перевода строк в если его нет между полями + if self.docObj.getTypeField(node) == "var" and\ + node.previousSibling and\ + not (self.docObj.getTypeField(node.previousSibling) in\ + ("br","comment")): + self.docObj.body.insertBefore(self.docObj.createField("br", + [],"",[], + False, + False), + node) + def setDataField(self, txtLines, endtxtLines): """Создаем список объектов с переменными""" class fieldData: @@ -112,3 +130,4 @@ class procmail(objShare): """Объединяем конфигурации""" if isinstance(procmailObj, procmail): self.docObj.joinDoc(procmailObj.doc) + self.postXML()