How should I make an entry appended to existing entries instead of overwriting the whole file ?
class ReadWriteCustomPathsToDisk(object):
"""docstring for ReadWriteCustomPathsToDisk"""
def __init__(self, modulePath):
super(ReadWriteCustomPathsToDisk, self).__init__()
self.modulePath = modulePath
def _xmlFileLocation(self):
xmlFileLocation = os.path.join(os.path.expanduser("~"), "Documents","searchMethod","modules.xml")
return xmlFileLocation
if os.path.exists(xmlFileLocation):
return xmlFileLocation
def readXml(self):
xmlFile = self._xmlFileLocation()
root = etree.parse(xmlFile).getroot()
modPath = {}
lst = root.getchildren()
for module in lst:
modPath[module.attrib['name']] = module.text
return modPath
def _entryExist(self):
if self.modulePath in self.readXml().values():
return True
else:
return False
def addEntry(self):
path = self.modulePath
root = Element("modules")
tree = ElementTree(root)
childPath = Element("module")
childPath.set("name", os.path.basename(path))
root.append(childPath)
childPath.text = path
return tree, root
def updateXml(self):
tree,root = self.addEntry()
print "Saving to %s " % self._xmlFileLocation()
tree.write(open(self._xmlFileLocation(),'w'))
the main program creats initiates this class and checks if _entryExist returns true else I want to append the entry.