diff -r 9c7527ecbf6e -r cc26d1c27da5 E5XML/UserProjectWriter.py --- a/E5XML/UserProjectWriter.py Mon Sep 13 08:32:36 2010 +0200 +++ b/E5XML/UserProjectWriter.py Mon Sep 13 09:06:38 2010 +0200 @@ -11,23 +11,23 @@ from E5Gui.E5Application import e5App -from .XMLWriterBase import XMLWriterBase +from .XMLStreamWriterBase import XMLStreamWriterBase from .Config import userProjectFileFormatVersion import Preferences -class UserProjectWriter(XMLWriterBase): +class UserProjectWriter(XMLStreamWriterBase): """ Class implementing the writer class for writing an XML user project properties file. """ - def __init__(self, file, projectName): + def __init__(self, device, projectName): """ Constructor - @param file open file (like) object for writing + @param device reference to the I/O device to write to (QIODevice) @param projectName name of the project (string) """ - XMLWriterBase.__init__(self, file) + XMLStreamWriterBase.__init__(self, device) self.pudata = e5App().getObject("Project").pudata self.pdata = e5App().getObject("Project").pdata @@ -37,28 +37,28 @@ """ Public method to write the XML to the file. """ - XMLWriterBase.writeXML(self) + XMLStreamWriterBase.writeXML(self) - self._write('<!DOCTYPE UserProject SYSTEM "UserProject-{0}.dtd">'.format( + self.writeDTD('<!DOCTYPE UserProject SYSTEM "UserProject-{0}.dtd">'.format( userProjectFileFormatVersion)) # add some generation comments - self._write("<!-- eric5 user project file for project {0} -->".format(self.name)) + self.writeComment(" eric5 user project file for project {0} ".format(self.name)) if Preferences.getProject("XMLTimestamp"): - self._write("<!-- Saved: {0} -->".format(time.strftime('%Y-%m-%d, %H:%M:%S'))) - self._write("<!-- Copyright (C) {0} {1}, {2} -->".format( - time.strftime('%Y'), - self.escape(self.pdata["AUTHOR"][0]), - self.escape(self.pdata["EMAIL"][0]))) + self.writeComment(" Saved: {0} ".format(time.strftime('%Y-%m-%d, %H:%M:%S'))) + self.writeComment(" Copyright (C) {0} {1}, {2} ".format( + time.strftime('%Y'), self.pdata["AUTHOR"][0], self.pdata["EMAIL"][0])) # add the main tag - self._write('<UserProject version="{0}">'.format(userProjectFileFormatVersion)) + self.writeStartElement("UserProject") + self.writeAttribute("version", userProjectFileFormatVersion) # do the vcs override stuff if self.pudata["VCSOVERRIDE"]: - self._write(" <VcsType>{0}</VcsType>".format(self.pudata["VCSOVERRIDE"][0])) + self.writeTextElement("VcsType", self.pudata["VCSOVERRIDE"][0]) if self.pudata["VCSSTATUSMONITORINTERVAL"]: - self._write(' <VcsStatusMonitorInterval value="{0:d}" />'.format( - self.pudata["VCSSTATUSMONITORINTERVAL"][0])) + self.writeEmptyElement("VcsStatusMonitorInterval") + self.writeAttribute("value", str(self.pudata["VCSSTATUSMONITORINTERVAL"][0])) - self._write("</UserProject>", newline = False) + self.writeEndElement() + self.writeEndDocument()