Sun, 16 May 2021 20:07:24 +0200
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
8011
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
3 | # Copyright (c) 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a class representing the tasks JSON file. |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | import json |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | import time |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
8318
962bce857696
Replaced all imports of PyQt5 to PyQt6 and started to replace code using obsoleted methods and adapt to the PyQt6 enum usage.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8312
diff
changeset
|
13 | from PyQt6.QtCore import QObject |
8011
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
15 | from E5Gui import E5MessageBox |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | from E5Gui.E5OverrideCursor import E5OverridenCursor |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | from E5Gui.E5Application import e5App |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | import Preferences |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | |
8280 | 21 | from .Task import TaskType, TaskPriority |
8278
e647b71b393f
Modernized some more code (Tasks).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
22 | |
8011
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | class TasksFile(QObject): |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | """ |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | Class representing the tasks JSON file. |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | """ |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | def __init__(self, isGlobal: bool, parent: QObject = None): |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | """ |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | Constructor |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | @param isGlobal flag indicating a file for global tasks |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | @type bool |
8016
e484fc67677e
Corrected some code documentation strings.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8011
diff
changeset
|
34 | @param parent reference to the parent object (defaults to None) |
8011
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | @type QObject (optional) |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | """ |
8218
7c09585bd960
Applied some more code simplifications suggested by the new Simplify checker (super(Foo, self) => super()).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8031
diff
changeset
|
37 | super().__init__(parent) |
8011
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | self.__isGlobal = isGlobal |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | def writeFile(self, filename: str) -> bool: |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | """ |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | Public method to write the tasks data to a tasks JSON file. |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
44 | @param filename name of the tasks file |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
45 | @type str |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | @return flag indicating a successful write |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | @rtype bool |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | """ |
8017
7ec108389fde
TasksFile: did some minir corrections.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8016
diff
changeset
|
49 | # prepare the tasks data dictionary |
8011
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | # step 0: header |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
51 | tasksDict = {} |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
52 | if self.__isGlobal: |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | tasksDict["header"] = { |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
54 | "comment": "eric tasks file", |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | "saved": time.strftime('%Y-%m-%d, %H:%M:%S'), |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | "warning": ( |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | "This file was generated automatically, do not edit." |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | ), |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
59 | } |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
60 | # step 1: project scan filter |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
61 | tasksDict["ProjectScanFilter"] = "" |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
62 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
63 | # step 2: tasks |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
64 | tasksDict["Tasks"] = [ |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
65 | task.toDict() |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
66 | for task in e5App().getObject("TaskViewer").getGlobalTasks() |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
67 | ] |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
68 | else: |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
69 | tasksDict["header"] = { |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
70 | "comment": "eric tasks file for project {0}".format( |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
71 | e5App().getObject("Project").getProjectName()), |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
72 | "warning": ( |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
73 | "This file was generated automatically, do not edit." |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
74 | ), |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
75 | } |
8031
ce5858a237d2
Changed the Project and MultiProject configuration option "XMLTimestamp" to "TimestampFile". A configuration check is suggested.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8017
diff
changeset
|
76 | if Preferences.getProject("TimestampFile"): |
8011
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
77 | tasksDict["header"]["saved"] = ( |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
78 | time.strftime('%Y-%m-%d, %H:%M:%S') |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
79 | ) |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
80 | # step 1: project scan filter |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
81 | tasksDict["ProjectScanFilter"] = ( |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
82 | e5App().getObject("TaskViewer").getTasksScanFilter() |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
83 | ) |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
84 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
85 | # step 2: tasks |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
86 | tasksDict["Tasks"] = [ |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
87 | task.toDict() |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
88 | for task in e5App().getObject("TaskViewer").getProjectTasks() |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
89 | ] |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
90 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
91 | try: |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
92 | jsonString = json.dumps(tasksDict, indent=2) |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
93 | with open(filename, "w") as f: |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
94 | f.write(jsonString) |
8240
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
95 | except (TypeError, OSError) as err: |
8011
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
96 | with E5OverridenCursor(): |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
97 | E5MessageBox.critical( |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
98 | None, |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
99 | self.tr("Save Tasks"), |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
100 | self.tr( |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
101 | "<p>The tasks file <b>{0}</b> could not be" |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
102 | " written.</p><p>Reason: {1}</p>" |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
103 | ).format(filename, str(err)) |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
104 | ) |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
105 | return False |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
106 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
107 | return True |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
108 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
109 | def readFile(self, filename: str) -> bool: |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
110 | """ |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
111 | Public method to read the tasks data from a task JSON file. |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
112 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
113 | @param filename name of the project file |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
114 | @type str |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
115 | @return flag indicating a successful read |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
116 | @rtype bool |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
117 | """ |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
118 | try: |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
119 | with open(filename, "r") as f: |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
120 | jsonString = f.read() |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
121 | tasksDict = json.loads(jsonString) |
8240
93b8a353c4bf
Applied some more code simplifications suggested by the new Simplify checker (Y105: use contextlib.suppress) (batch 1).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8218
diff
changeset
|
122 | except (OSError, json.JSONDecodeError) as err: |
8011
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
123 | E5MessageBox.critical( |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
124 | None, |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
125 | self.tr("Read Tasks"), |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
126 | self.tr( |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
127 | "<p>The tasks file <b>{0}</b> could not be read.</p>" |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
128 | "<p>Reason: {1}</p>" |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
129 | ).format(filename, str(err)) |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
130 | ) |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
131 | return False |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
132 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
133 | viewer = e5App().getObject("TaskViewer") |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
134 | if tasksDict["ProjectScanFilter"]: |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
135 | viewer.setTasksScanFilter(tasksDict["ProjectScanFilter"]) |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
136 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
137 | addedTasks = [] |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
138 | for task in tasksDict["Tasks"]: |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
139 | addedTask = viewer.addTask( |
8280 | 140 | task["summary"], priority=TaskPriority(task["priority"]), |
8011
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
141 | filename=task["filename"], lineno=task["lineno"], |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
142 | completed=task["completed"], _time=task["created"], |
8278
e647b71b393f
Modernized some more code (Tasks).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
143 | isProjectTask=not self.__isGlobal, |
e647b71b393f
Modernized some more code (Tasks).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
8240
diff
changeset
|
144 | taskType=TaskType(task["type"]), |
8011
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
145 | description=task["description"], uid=task["uid"], |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
146 | parentTask=task["parent_uid"]) |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
147 | addedTasks.append((addedTask, task["expanded"])) |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
148 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
149 | for task, expanded in addedTasks: |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
150 | task.setExpanded(expanded) |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
151 | |
630a173cb137
Implemented the JSON based tasks files.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
152 | return True |