Профиль xfce_xml переименован в xml_xfce

В xml_xfce профиле запрещена возможность удалять корневую ноду

git-svn-id: http://svn.calculate.ru/calculate2/calculate-lib/trunk@1402 c91db197-33c1-4113-bf15-f8a5c547ca64
master
asamoukin 15 years ago
parent 79c2a39216
commit 43153ca49a

@ -2978,7 +2978,7 @@ class profile(_file, _terms, xmlShare):
newFile) newFile)
return False return False
if objHeadNew.fileType == "xfce_xml": if objHeadNew.fileType == "xml_xfce":
if objProfNew.getError(): if objProfNew.getError():
self.setError (_("False profile: " ) + newFile) self.setError (_("False profile: " ) + newFile)
return False return False
@ -3007,7 +3007,7 @@ class profile(_file, _terms, xmlShare):
title = title.encode("UTF-8") title = title.encode("UTF-8")
# Замена # Замена
if objHeadNew.typeAppend == "replace": if objHeadNew.typeAppend == "replace":
if objHeadNew.fileType == "xfce_xml": if objHeadNew.fileType == "xml_xfce":
data = self.newProfile.split("\n") data = self.newProfile.split("\n")
data.insert(1,title) data.insert(1,title)
self.oldProfile = "\n".join(data) self.oldProfile = "\n".join(data)
@ -3021,7 +3021,7 @@ class profile(_file, _terms, xmlShare):
return filesApply return filesApply
# Впереди # Впереди
elif objHeadNew.typeAppend == "before": elif objHeadNew.typeAppend == "before":
if objHeadNew.fileType == "xfce_xml": if objHeadNew.fileType == "xml_xfce":
self.setError (\ self.setError (\
_("False option append=before in profile %s") %newFile) _("False option append=before in profile %s") %newFile)
return False return False
@ -3043,7 +3043,7 @@ class profile(_file, _terms, xmlShare):
return filesApply return filesApply
# Cзади # Cзади
elif objHeadNew.typeAppend == "after": elif objHeadNew.typeAppend == "after":
if objHeadNew.fileType == "xfce_xml": if objHeadNew.fileType == "xml_xfce":
self.setError (\ self.setError (\
_("False option append=after in profile %s") %newFile) _("False option append=after in profile %s") %newFile)
return False return False
@ -3083,7 +3083,7 @@ class profile(_file, _terms, xmlShare):
+ objHeadNew.fileType + " : " +\ + objHeadNew.fileType + " : " +\
newFile) newFile)
return False return False
if objHeadNew.fileType == "xfce_xml": if objHeadNew.fileType == "xml_xfce":
if objProfNew.getError(): if objProfNew.getError():
self.setError (_("False profile: " ) + newFile) self.setError (_("False profile: " ) + newFile)
return False return False
@ -3125,7 +3125,7 @@ class profile(_file, _terms, xmlShare):
else: else:
exec ("objProfOld=%s(self.oldProfile)"%\ exec ("objProfOld=%s(self.oldProfile)"%\
(objHeadNew.fileType)) (objHeadNew.fileType))
if objHeadNew.fileType == "xfce_xml": if objHeadNew.fileType == "xml_xfce":
if objProfOld.getError(): if objProfOld.getError():
self.setError (_("False profile: " ) + oldFile) self.setError (_("False profile: " ) + oldFile)
return False return False
@ -3135,12 +3135,12 @@ class profile(_file, _terms, xmlShare):
#print "#%s#" %(objProfOld.docObj.body.toprettyxml()) #print "#%s#" %(objProfOld.docObj.body.toprettyxml())
#print "#%s#" %(objProfNew.docObj.body.toprettyxml()) #print "#%s#" %(objProfNew.docObj.body.toprettyxml())
objProfOld.join(objProfNew) objProfOld.join(objProfNew)
#if objHeadNew.fileType=="xfce_xml": #if objHeadNew.fileType=="xml_xfce":
#print "OLD" #print "OLD"
#print "New" #print "New"
#print objProfOld.doc.toprettyxml() #print objProfOld.doc.toprettyxml()
#print objProfNew.doc.toprettyxml() #print objProfNew.doc.toprettyxml()
if objHeadNew.fileType == "xfce_xml": if objHeadNew.fileType == "xml_xfce":
if objProfOld.getError(): if objProfOld.getError():
self.setError (_("False profile: " ) + newFile) self.setError (_("False profile: " ) + newFile)
return False return False
@ -5046,7 +5046,7 @@ class plasma(samba):
self.docObj.joinDoc(kdeObj.doc) self.docObj.joinDoc(kdeObj.doc)
self.postXML() self.postXML()
class xfce_xml(_error): class xml_xfce(_error):
"""Класс для объединения xfce-xml файлов""" """Класс для объединения xfce-xml файлов"""
# root нода # root нода
rootNode = False rootNode = False
@ -5102,10 +5102,10 @@ class xfce_xml(_error):
self.bodyNode = self.rootNode self.bodyNode = self.rootNode
return self.doc return self.doc
def join(self, xfce_xmlObj): def join(self, xml_xfceObj):
"""Объединяем конфигурации""" """Объединяем конфигурации"""
if isinstance(xfce_xmlObj, xfce_xml): if isinstance(xml_xfceObj, xml_xfce):
self.joinDoc(xfce_xmlObj.doc) self.joinDoc(xml_xfceObj.doc)
def _removeDropNodesAndAttrAction(self, xmlNode): def _removeDropNodesAndAttrAction(self, xmlNode):
"""Удаляет ноды с аттрибутом action='drop' """Удаляет ноды с аттрибутом action='drop'
@ -5143,7 +5143,7 @@ Valid values attribute 'action': \
# Удаляем теги action и удаляемые ноды # Удаляем теги action и удаляемые ноды
self._removeDropNodesAndAttrAction(self.bodyNode) self._removeDropNodesAndAttrAction(self.bodyNode)
def _join(self, xmlNewNode, xmlOldNode, workNode=False): def _join(self, xmlNewNode, xmlOldNode, flagRootNode=True):
"""Объединение корневой ноды профиля и корненвой ноды файла""" """Объединение корневой ноды профиля и корненвой ноды файла"""
xmlNode = xmlNewNode xmlNode = xmlNewNode
childNodes = xmlNode.childNodes childNodes = xmlNode.childNodes
@ -5186,7 +5186,7 @@ Valid values attribute 'action': \
findAttrStr = "[%s]"%strAttr findAttrStr = "[%s]"%strAttr
findPath = u"child::%s%s"%(path,findAttrStr) findPath = u"child::%s%s"%(path,findAttrStr)
# Рабочая нода # Рабочая нода
if not workNode: if flagRootNode:
workNode = xmlOldNode.parentNode workNode = xmlOldNode.parentNode
else: else:
workNode = xmlOldNode workNode = xmlOldNode
@ -5207,6 +5207,10 @@ Valid values attribute 'action': \
elif nAction == "drop": elif nAction == "drop":
flagJoin = False flagJoin = False
flagDrop = True flagDrop = True
if flagRootNode:
textError = _('Incorrect action="drop" in root node')
self.setError(textError)
return False
if oldNodes: if oldNodes:
if len(oldNodes)>1: if len(oldNodes)>1:
textError = _("The uncertainty in this profile are \ textError = _("The uncertainty in this profile are \
@ -5254,7 +5258,7 @@ the same nodes at one level")
workNode.appendChild(appendXmlNode) workNode.appendChild(appendXmlNode)
if childNodes: if childNodes:
for node in childNodes: for node in childNodes:
if not self._join(node, nextOldNode, True): if not self._join(node, nextOldNode, False):
flagError = True flagError = True
break break
if flagError: if flagError:

Loading…
Cancel
Save