|
|
|
@ -2369,6 +2369,9 @@ class profile(_file, _terms):
|
|
|
|
|
def join(self, newObj):
|
|
|
|
|
if newObj.__class__.__name__ == self.__class__.__name__:
|
|
|
|
|
self.docObj.joinDoc(newObj.doc)
|
|
|
|
|
# Пост обработка
|
|
|
|
|
if 'postXML' in dir(self):
|
|
|
|
|
self.postXML()
|
|
|
|
|
attrsNew = {}
|
|
|
|
|
attrsNew["configName"] = name
|
|
|
|
|
if attrs:
|
|
|
|
@ -2478,6 +2481,9 @@ class profile(_file, _terms):
|
|
|
|
|
docObj.insertBRtoBody(docObj.getNodeBody())
|
|
|
|
|
# Добавление необходимых разделителей между областями
|
|
|
|
|
docObj.insertBeforeSepAreas(docObj.getNodeBody())
|
|
|
|
|
# Пост обработка
|
|
|
|
|
if 'postXML' in dir(objProfNew):
|
|
|
|
|
objProfNew.postXML()
|
|
|
|
|
# Получение текстового файла из XML документа
|
|
|
|
|
self.newProfile = objProfNew.getConfig().encode("UTF-8")
|
|
|
|
|
# Титл для объединения
|
|
|
|
@ -2627,10 +2633,8 @@ class samba(objShare):
|
|
|
|
|
# XML документ
|
|
|
|
|
self.doc = self.docObj.doc
|
|
|
|
|
|
|
|
|
|
def join(self, sambaObj):
|
|
|
|
|
"""Объединяем конфигурации"""
|
|
|
|
|
if isinstance(sambaObj, samba):
|
|
|
|
|
self.docObj.joinDoc(sambaObj.doc)
|
|
|
|
|
def postXML(self):
|
|
|
|
|
"""Последующая постобработка XML"""
|
|
|
|
|
# Для добавления перевода строки между областями если его нет
|
|
|
|
|
#print self.docObj.body.toprettyxml()
|
|
|
|
|
xmlAreas = xpath.Evaluate("child::area", self.docObj.body)
|
|
|
|
@ -2652,6 +2656,12 @@ class samba(objShare):
|
|
|
|
|
nextNode)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def join(self, sambaObj):
|
|
|
|
|
"""Объединяем конфигурации"""
|
|
|
|
|
if isinstance(sambaObj, samba):
|
|
|
|
|
self.docObj.joinDoc(sambaObj.doc)
|
|
|
|
|
self.postXML()
|
|
|
|
|
|
|
|
|
|
def setDataField(self, txtLines, endtxtLines):
|
|
|
|
|
"""Создаем список объектов с переменными"""
|
|
|
|
|
class fieldData:
|
|
|
|
@ -3168,13 +3178,16 @@ class apache(bind):
|
|
|
|
|
# XML документ
|
|
|
|
|
self.doc = self.docObj.doc
|
|
|
|
|
|
|
|
|
|
def join(self, apacheObj):
|
|
|
|
|
"""Объединяем конфигурации"""
|
|
|
|
|
if isinstance(apacheObj, apache):
|
|
|
|
|
#print self.docObj.doc.toprettyxml()
|
|
|
|
|
self.docObj.joinDoc(apacheObj.doc)
|
|
|
|
|
def postXML(self):
|
|
|
|
|
"""Последующая постобработка XML"""
|
|
|
|
|
# Для добавления перевода строки перед закрывающим тегом
|
|
|
|
|
# конфигурационного файла
|
|
|
|
|
xmlFields = xpath.Evaluate("child::fields", self.docObj.body)
|
|
|
|
|
if not (xmlFields and\
|
|
|
|
|
self.docObj.getTypeField(xmlFields[-1]) == "br"):
|
|
|
|
|
self.docObj.body.appendChild(self.docObj.createField("br",
|
|
|
|
|
[],"",[],
|
|
|
|
|
False,False))
|
|
|
|
|
xmlAreas = xpath.Evaluate("child::area", self.docObj.body)
|
|
|
|
|
for xmlArea in xmlAreas:
|
|
|
|
|
xmlFields = xpath.Evaluate("child::field", xmlArea)
|
|
|
|
@ -3184,6 +3197,13 @@ class apache(bind):
|
|
|
|
|
[],"",[],
|
|
|
|
|
False,False))
|
|
|
|
|
|
|
|
|
|
def join(self, apacheObj):
|
|
|
|
|
"""Объединяем конфигурации"""
|
|
|
|
|
if isinstance(apacheObj, apache):
|
|
|
|
|
#print self.docObj.doc.toprettyxml()
|
|
|
|
|
self.docObj.joinDoc(apacheObj.doc)
|
|
|
|
|
self.postXML()
|
|
|
|
|
|
|
|
|
|
# Делим область на составные части
|
|
|
|
|
def findOpenClose(self, text, reOpen, reClose, reComment, reHeader):
|
|
|
|
|
"""Делит область на составные части
|
|
|
|
@ -3609,18 +3629,18 @@ class dovecot(bind):
|
|
|
|
|
def __init__(self, text):
|
|
|
|
|
bind.__init__(self,text)
|
|
|
|
|
|
|
|
|
|
def addBrArea(self, xmlArea):
|
|
|
|
|
"""Добавляем перевод строки если его нет в конец области"""
|
|
|
|
|
xmlFields = xpath.Evaluate("child::field", xmlArea)
|
|
|
|
|
def postXML(self):
|
|
|
|
|
"""Последующая постобработка XML"""
|
|
|
|
|
# Добавляем перевод строки если его нет в конец области
|
|
|
|
|
xmlFields = xpath.Evaluate("child::field", self.docObj.body)
|
|
|
|
|
if xmlFields and not (\
|
|
|
|
|
self.docObj.getTypeField(xmlFields[-1]) == "br" or\
|
|
|
|
|
self.docObj.getTypeField(xmlFields[-1]) == "comment"
|
|
|
|
|
):
|
|
|
|
|
xmlArea.appendChild(self.docObj.createField("br",
|
|
|
|
|
self.docObj.getTypeField(xmlFields[-1]) == "comment"):
|
|
|
|
|
self.docObj.body.appendChild(self.docObj.createField("br",
|
|
|
|
|
[],"",[],
|
|
|
|
|
False,False))
|
|
|
|
|
xmlAreas = xpath.Evaluate("child::area", xmlArea)
|
|
|
|
|
for area in xmlAreas:
|
|
|
|
|
self.docObj.bodys = xpath.Evaluate("child::area", self.docObj.body)
|
|
|
|
|
for area in self.docObj.bodys:
|
|
|
|
|
self.addBrArea(area)
|
|
|
|
|
|
|
|
|
|
def join(self, dovecotObj):
|
|
|
|
@ -3630,7 +3650,7 @@ class dovecot(bind):
|
|
|
|
|
self.docObj.joinDoc(dovecotObj.doc)
|
|
|
|
|
# Для добавления перевода строки перед закрывающим тегом
|
|
|
|
|
# конфигурационного файла
|
|
|
|
|
self.addBrArea(self.docObj.body)
|
|
|
|
|
self.postXML()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class procmail(objShare):
|
|
|
|
@ -3748,10 +3768,8 @@ class kde(samba):
|
|
|
|
|
def __init__(self,text):
|
|
|
|
|
samba.__init__(self,text)
|
|
|
|
|
|
|
|
|
|
def join(self, kdeObj):
|
|
|
|
|
"""Объединяем конфигурации"""
|
|
|
|
|
if isinstance(kdeObj, kde):
|
|
|
|
|
self.docObj.joinDoc(kdeObj.doc)
|
|
|
|
|
def postXML(self):
|
|
|
|
|
"""Последующая постобработка XML"""
|
|
|
|
|
# Для добавления перевода строки между областями если его нет
|
|
|
|
|
#print self.docObj.body.toprettyxml()
|
|
|
|
|
xmlAreas = xpath.Evaluate("child::area", self.docObj.body)
|
|
|
|
@ -3771,3 +3789,9 @@ class kde(samba):
|
|
|
|
|
[],"",[],
|
|
|
|
|
False,False),
|
|
|
|
|
nextNode)
|
|
|
|
|
|
|
|
|
|
def join(self, kdeObj):
|
|
|
|
|
"""Объединяем конфигурации"""
|
|
|
|
|
if isinstance(kdeObj, kde):
|
|
|
|
|
self.docObj.joinDoc(kdeObj.doc)
|
|
|
|
|
self.postXML()
|
|
|
|
|