Moved the unpacking of XML data into the NWItem class
This commit is contained in:
@@ -99,6 +99,28 @@ class NWItem():
|
||||
xSub = self._subPack(xPack,"cursorPos", text=str(self.cursorPos), none=False)
|
||||
return xPack
|
||||
|
||||
def unpackXML(self, xItem):
|
||||
"""Sets the values from an XML entry of type 'item'.
|
||||
"""
|
||||
|
||||
if xItem.tag != "item":
|
||||
logger.error("XML entry is not an NWItem")
|
||||
return False
|
||||
|
||||
if "handle" in xItem.attrib:
|
||||
self.itemHandle = xItem.attrib["handle"]
|
||||
else:
|
||||
logger.error("XML item entry does not have a handle")
|
||||
return False
|
||||
|
||||
if "parent" in xItem.attrib:
|
||||
self.parHandle = xItem.attrib["parent"]
|
||||
|
||||
for xValue in xItem:
|
||||
self.setFromTag(xValue.tag, xValue.text)
|
||||
|
||||
return True
|
||||
|
||||
@staticmethod
|
||||
def _subPack(xParent, name, attrib=None, text=None, none=True):
|
||||
if not none and (text == None or text == "None"):
|
||||
|
||||
+2
-13
@@ -334,20 +334,9 @@ class NWProject():
|
||||
elif xChild.tag == "content":
|
||||
logger.debug("Found project content")
|
||||
for xItem in xChild:
|
||||
itemAttrib = xItem.attrib
|
||||
if "handle" in xItem.attrib:
|
||||
tHandle = itemAttrib["handle"]
|
||||
else:
|
||||
logger.error("Skipping entry missing handle")
|
||||
continue
|
||||
if "parent" in xItem.attrib:
|
||||
pHandle = itemAttrib["parent"]
|
||||
else:
|
||||
pHandle = None
|
||||
nwItem = NWItem(self)
|
||||
for xValue in xItem:
|
||||
nwItem.setFromTag(xValue.tag,xValue.text)
|
||||
self._appendItem(tHandle,pHandle,nwItem)
|
||||
if nwItem.unpackXML(xItem):
|
||||
self._appendItem(nwItem.itemHandle, nwItem.parHandle, nwItem)
|
||||
|
||||
self.optState.loadSettings()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user