36 """ |
36 """ |
37 Public method to write the XML to the file. |
37 Public method to write the XML to the file. |
38 """ |
38 """ |
39 XMLWriterBase.writeXML(self) |
39 XMLWriterBase.writeXML(self) |
40 |
40 |
41 self._write('<!DOCTYPE MultiProject SYSTEM "MultiProject-%s.dtd">' % \ |
41 self._write('<!DOCTYPE MultiProject SYSTEM "MultiProject-{0}.dtd">'\ |
42 multiProjectFileFormatVersion) |
42 .format(multiProjectFileFormatVersion)) |
43 |
43 |
44 # add some generation comments |
44 # add some generation comments |
45 self._write("<!-- eric5 multi project file for multi project %s -->" % self.name) |
45 self._write("<!-- eric5 multi project file for multi project {0} -->"\ |
|
46 .format(self.name)) |
46 if Preferences.getMultiProject("XMLTimestamp"): |
47 if Preferences.getMultiProject("XMLTimestamp"): |
47 self._write("<!-- Saved: %s -->" % time.strftime('%Y-%m-%d, %H:%M:%S')) |
48 self._write("<!-- Saved: {0} -->".format(time.strftime('%Y-%m-%d, %H:%M:%S'))) |
48 self._write("<!-- Copyright (C) %s -->" % time.strftime('%Y')) |
49 self._write("<!-- Copyright (C) {0} -->".format(time.strftime('%Y'))) |
49 |
50 |
50 # add the main tag |
51 # add the main tag |
51 self._write('<MultiProject version="%s">' % multiProjectFileFormatVersion) |
52 self._write('<MultiProject version="{0}">'.format(multiProjectFileFormatVersion)) |
52 |
53 |
53 # do description |
54 # do description |
54 self._write(" <Description>%s</Description>" % \ |
55 self._write(" <Description>{0}</Description>".format( |
55 self.escape(self.encodedNewLines(self.multiProject.description))) |
56 self.escape(self.encodedNewLines(self.multiProject.description)))) |
56 |
57 |
57 # do the projects |
58 # do the projects |
58 self._write(" <Projects>") |
59 self._write(" <Projects>") |
59 for project in self.multiProject.getProjects(): |
60 for project in self.multiProject.getProjects(): |
60 self._write(' <Project isMaster="%s">' % project['master']) |
61 self._write(' <Project isMaster="{0}">'.format(project['master'])) |
61 self._write(" <ProjectName>%s</ProjectName>" % \ |
62 self._write(" <ProjectName>{0}</ProjectName>".format( |
62 self.escape(project['name'])) |
63 self.escape(project['name']))) |
63 self._write(" <ProjectFile>%s</ProjectFile>" % \ |
64 self._write(" <ProjectFile>{0}</ProjectFile>".format( |
64 Utilities.fromNativeSeparators(project['file'])) |
65 Utilities.fromNativeSeparators(project['file']))) |
65 self._write(" <ProjectDescription>%s</ProjectDescription>" % \ |
66 self._write(" <ProjectDescription>{0}</ProjectDescription>".format( |
66 self.escape(self.encodedNewLines(project['name']))) |
67 self.escape(self.encodedNewLines(project['name'])))) |
67 self._write(" </Project>") |
68 self._write(" </Project>") |
68 self._write(" </Projects>") |
69 self._write(" </Projects>") |
69 |
70 |
70 self._write("</MultiProject>", newline = False) |
71 self._write("</MultiProject>", newline = False) |