38 """ |
38 """ |
39 Public method to write the XML to the file. |
39 Public method to write the XML to the file. |
40 """ |
40 """ |
41 XMLWriterBase.writeXML(self) |
41 XMLWriterBase.writeXML(self) |
42 |
42 |
43 self._write('<!DOCTYPE Tasks SYSTEM "Tasks-%s.dtd">' % tasksFileFormatVersion) |
43 self._write('<!DOCTYPE Tasks SYSTEM "Tasks-{0}.dtd">'.format( |
|
44 tasksFileFormatVersion)) |
44 |
45 |
45 # add some generation comments |
46 # add some generation comments |
46 if self.forProject: |
47 if self.forProject: |
47 self._write("<!-- eric5 tasks file for project %s -->" % self.name) |
48 self._write("<!-- eric5 tasks file for project {0} -->".format(self.name)) |
48 if Preferences.getProject("XMLTimestamp"): |
49 if Preferences.getProject("XMLTimestamp"): |
49 self._write("<!-- Saved: %s -->" % time.strftime('%Y-%m-%d, %H:%M:%S')) |
50 self._write("<!-- Saved: {0} -->".format( |
|
51 time.strftime('%Y-%m-%d, %H:%M:%S'))) |
50 else: |
52 else: |
51 self._write("<!-- eric5 tasks file -->") |
53 self._write("<!-- eric5 tasks file -->") |
52 self._write("<!-- Saved: %s -->" % time.strftime('%Y-%m-%d, %H:%M:%S')) |
54 self._write("<!-- Saved: {0} -->".format(time.strftime('%Y-%m-%d, %H:%M:%S'))) |
53 |
55 |
54 # add the main tag |
56 # add the main tag |
55 self._write('<Tasks version="%s">' % tasksFileFormatVersion) |
57 self._write('<Tasks version="{0}">'.format(tasksFileFormatVersion)) |
56 |
58 |
57 # do the tasks |
59 # do the tasks |
58 if self.forProject: |
60 if self.forProject: |
59 tasks = e5App().getObject("TaskViewer").getProjectTasks() |
61 tasks = e5App().getObject("TaskViewer").getProjectTasks() |
60 else: |
62 else: |
61 tasks = e5App().getObject("TaskViewer").getGlobalTasks() |
63 tasks = e5App().getObject("TaskViewer").getGlobalTasks() |
62 for task in tasks: |
64 for task in tasks: |
63 self._write(' <Task priority="%d" completed="%s" bugfix="%s">' % \ |
65 self._write(' <Task priority="{0:d}" completed="{1}" bugfix="{2}">'\ |
64 (task.priority, task.completed, task.isBugfixTask)) |
66 .format(task.priority, task.completed, task.isBugfixTask)) |
65 self._write(' <Summary>%s</Summary>' % \ |
67 self._write(' <Summary>{0}</Summary>'.format( |
66 self.escape("%s" % task.description.strip())) |
68 self.escape("{0}".format(task.description.strip())))) |
67 self._write(' <Description>%s</Description>' % \ |
69 self._write(' <Description>{0}</Description>'.format( |
68 self.escape(self.encodedNewLines(task.longtext.strip()))) |
70 self.escape(self.encodedNewLines(task.longtext.strip())))) |
69 self._write(' <Created>%s</Created>' % \ |
71 self._write(' <Created>{0}</Created>'.format( |
70 time.strftime("%Y-%m-%d, %H:%M:%S", time.localtime(task.created))) |
72 time.strftime("%Y-%m-%d, %H:%M:%S", time.localtime(task.created)))) |
71 if task.filename: |
73 if task.filename: |
72 self._write(' <Resource>') |
74 self._write(' <Resource>') |
73 self._write(' <Filename>%s</Filename>' % \ |
75 self._write(' <Filename>{0}</Filename>'.format( |
74 Utilities.fromNativeSeparators(task.filename)) |
76 Utilities.fromNativeSeparators(task.filename))) |
75 self._write(' <Linenumber>%d</Linenumber>' % task.lineno) |
77 self._write(' <Linenumber>{0:d}</Linenumber>'.format(task.lineno)) |
76 self._write(' </Resource>') |
78 self._write(' </Resource>') |
77 self._write(' </Task>') |
79 self._write(' </Task>') |
78 |
80 |
79 self._write('</Tasks>', newline = False) |
81 self._write('</Tasks>', newline = False) |