Elements of the '+', '-' do not operate within the area for the template in the format kde.

develop
Самоукин Алексей 14 years ago
parent 3deec569e4
commit 8a14c4466d

@ -35,8 +35,23 @@ class kde(samba):
def __init__(self,text):
samba.__init__(self,text)
def removeSymbolR(self, text):
"""Удаляет первый символ названия переменной в строке
Если первый встречающийся символ с начала строки
'!' то он из этой строки будет удален,
если перед этим символом были пробельные символы,
то они будут сохранены, так-же если в строке есть символ
перевода строки он будет удален.
"""
reTerm = re.compile("^[ \t]*(\!)")
textNS = text.replace("\n","")
res = reTerm.search(textNS)
if res:
textNS = textNS[res.start():res.end()-1] + textNS[res.end():]
return textNS
def _textToXML(self):
"""Преобразует текст в XML"""
blTmp = self.blocTextObj.findBloc(self.text,self.reHeader,self.reBody)
@ -98,16 +113,14 @@ class kde(samba):
fields = self._splitToFields(bodys[z])
for f in fields:
if f.name != False and f.value!=False and f.br!=False:
# Обработка условий для samba
if f.name[0] == "!" or f.name[0] == "-" or\
f.name[0] == "+":
qns = self.removeSymbolTerm(f.br)
# Обработка условий для kde
if f.name[0] == "!":
qns = self.removeSymbolR(f.br)
xmlField = docObj.createField("var",
[qns],
f.name[1:], [f.value])
if f.name[0] == "!":
# Удаляемое в дальнейшем поле
docObj.setActionField(xmlField, "drop")
[qns],
f.name[1:], [f.value])
# Удаляемое в дальнейшем поле
docObj.setActionField(xmlField, "drop")
else:
docObj.createField("var",[f.br.replace("\n","")],
f.name, [f.value])

Loading…
Cancel
Save