12 from E5Gui.E5Application import e5App |
12 from E5Gui.E5Application import e5App |
13 |
13 |
14 from .Config import tasksFileFormatVersion |
14 from .Config import tasksFileFormatVersion |
15 from .XMLStreamReaderBase import XMLStreamReaderBase |
15 from .XMLStreamReaderBase import XMLStreamReaderBase |
16 |
16 |
|
17 from Tasks.Task import Task |
|
18 |
17 import Utilities |
19 import Utilities |
18 |
20 |
19 |
21 |
20 class TasksReader(XMLStreamReaderBase): |
22 class TasksReader(XMLStreamReaderBase): |
21 """ |
23 """ |
22 Class for reading an XML tasks file. |
24 Class for reading an XML tasks file. |
23 """ |
25 """ |
24 supportedVersions = ["4.2", "5.0"] |
26 supportedVersions = ["4.2", "5.0", "5.1"] |
25 |
27 |
26 def __init__(self, device, forProject=False, viewer=None): |
28 def __init__(self, device, forProject=False, viewer=None): |
27 """ |
29 """ |
28 Constructor |
30 Constructor |
29 |
31 |
73 "priority": 1, |
75 "priority": 1, |
74 "completed": False, |
76 "completed": False, |
75 "created": 0, |
77 "created": 0, |
76 "filename": "", |
78 "filename": "", |
77 "linenumber": 0, |
79 "linenumber": 0, |
78 "bugfix": False, |
80 "type": Task.TypeTodo, |
79 "description": "", |
81 "description": "", |
80 } |
82 } |
81 task["priority"] = int(self.attribute("priority", "1")) |
83 task["priority"] = int(self.attribute("priority", "1")) |
82 task["completed"] = self.toBool(self.attribute("completed", "False")) |
84 task["completed"] = self.toBool(self.attribute("completed", "False")) |
83 task["bugfix"] = self.toBool(self.attribute("bugfix", "False")) |
85 if self.version in ["4.2", "5.0"]: |
|
86 isBugfix = self.toBool(self.attribute("bugfix", "False")) |
|
87 if isBugfix: |
|
88 task["type"] = Task.TypeFixme |
|
89 else: |
|
90 task["type"] = int(self.attribute("type", str(Task.TypeTodo))) |
84 |
91 |
85 while not self.atEnd(): |
92 while not self.atEnd(): |
86 self.readNext() |
93 self.readNext() |
87 if self.isEndElement() and self.name() == "Task": |
94 if self.isEndElement() and self.name() == "Task": |
88 self.viewer.addTask(task["summary"], priority=task["priority"], |
95 self.viewer.addTask(task["summary"], priority=task["priority"], |
89 filename=task["filename"], lineno=task["linenumber"], |
96 filename=task["filename"], lineno=task["linenumber"], |
90 completed=task["completed"], _time=task["created"], |
97 completed=task["completed"], _time=task["created"], |
91 isProjectTask=self.forProject, isBugfixTask=task["bugfix"], |
98 isProjectTask=self.forProject, taskType=task["type"], |
92 longtext=task["description"]) |
99 longtext=task["description"]) |
93 break |
100 break |
94 |
101 |
95 if self.isStartElement(): |
102 if self.isStartElement(): |
96 if self.name() == "Summary": |
103 if self.name() == "Summary": |