E5XML/TasksWriter.py

branch
5_1_x
changeset 962
88b386d26b74
parent 791
9ec2ac20e54e
child 1510
e75ecf2bd9dd
equal deleted inserted replaced
959:3b5ad7224945 962:88b386d26b74
10 import time 10 import time
11 11
12 from E5Gui.E5Application import e5App 12 from E5Gui.E5Application import e5App
13 13
14 from .XMLStreamWriterBase import XMLStreamWriterBase 14 from .XMLStreamWriterBase import XMLStreamWriterBase
15 from .Config import tasksFileFormatVersion 15 from .Config import tasksFileFormatVersion, tasksFileFormatVersionAlternative
16 16
17 import Preferences 17 import Preferences
18 import Utilities 18 import Utilities
19 19
20 class TasksWriter(XMLStreamWriterBase): 20 class TasksWriter(XMLStreamWriterBase):
36 36
37 def writeXML(self): 37 def writeXML(self):
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 viewer = e5App().getObject("TaskViewer")
42
41 XMLStreamWriterBase.writeXML(self) 43 XMLStreamWriterBase.writeXML(self)
42 44
45 formatVersion = tasksFileFormatVersion
46 if self.forProject and viewer.projectTasksScanFilter is not None:
47 formatVersion = tasksFileFormatVersionAlternative
43 self.writeDTD('<!DOCTYPE Tasks SYSTEM "Tasks-{0}.dtd">'.format( 48 self.writeDTD('<!DOCTYPE Tasks SYSTEM "Tasks-{0}.dtd">'.format(
44 tasksFileFormatVersion)) 49 formatVersion))
45 50
46 # add some generation comments 51 # add some generation comments
47 if self.forProject: 52 if self.forProject:
48 self.writeComment(" eric5 tasks file for project {0} ".format(self.name)) 53 self.writeComment(" eric5 tasks file for project {0} ".format(self.name))
49 if Preferences.getProject("XMLTimestamp"): 54 if Preferences.getProject("XMLTimestamp"):
55 60
56 # add the main tag 61 # add the main tag
57 self.writeStartElement("Tasks") 62 self.writeStartElement("Tasks")
58 self.writeAttribute("version", tasksFileFormatVersion) 63 self.writeAttribute("version", tasksFileFormatVersion)
59 64
65 # write the project scan filter
66 if self.forProject and viewer.projectTasksScanFilter is not None:
67 self.writeTextElement("ProjectScanFilter",
68 e5App().getObject("TaskViewer").projectTasksScanFilter.strip())
69
60 # do the tasks 70 # do the tasks
61 if self.forProject: 71 if self.forProject:
62 tasks = e5App().getObject("TaskViewer").getProjectTasks() 72 tasks = viewer.getProjectTasks()
63 else: 73 else:
64 tasks = e5App().getObject("TaskViewer").getGlobalTasks() 74 tasks = viewer.getGlobalTasks()
65 for task in tasks: 75 for task in tasks:
66 self.writeStartElement("Task") 76 self.writeStartElement("Task")
67 self.writeAttribute("priority", str(task.priority)) 77 self.writeAttribute("priority", str(task.priority))
68 self.writeAttribute("completed", str(task.completed)) 78 self.writeAttribute("completed", str(task.completed))
69 self.writeAttribute("bugfix", str(task.isBugfixTask)) 79 self.writeAttribute("bugfix", str(task.isBugfixTask))

eric ide

mercurial