Moved the unpacking of XML data into the NWItem class

This commit is contained in:
Veronica K. B. Olsen
2020-05-07 01:25:09 +02:00
parent d5775a7838
commit 1a521758d1
2 changed files with 24 additions and 13 deletions
+22
View File
@@ -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
View File
@@ -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()