E5XML/TasksReader.py

changeset 1819
cfcfd617216a
parent 1509
c0b5e693b0eb
child 2197
c4f24f8f34c0
equal deleted inserted replaced
1818:a5e4cb4bed43 1819:cfcfd617216a
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":

eric ide

mercurial