E5XML/UserProjectWriter.py

changeset 606
cc26d1c27da5
parent 412
569efd7f2716
child 791
9ec2ac20e54e
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()

eric ide

mercurial