15 from PyQt6.QtCore import QObject |
15 from PyQt6.QtCore import QObject |
16 |
16 |
17 from eric7 import Preferences |
17 from eric7 import Preferences |
18 from eric7.EricGui.EricOverrideCursor import EricOverridenCursor |
18 from eric7.EricGui.EricOverrideCursor import EricOverridenCursor |
19 from eric7.EricWidgets import EricMessageBox |
19 from eric7.EricWidgets import EricMessageBox |
|
20 |
|
21 from .MultiProjectProjectMeta import MultiProjectProjectMeta |
20 |
22 |
21 MultiProject = typing.TypeVar("MultiProject") |
23 MultiProject = typing.TypeVar("MultiProject") |
22 |
24 |
23 |
25 |
24 class MultiProjectFile(QObject): |
26 class MultiProjectFile(QObject): |
58 |
60 |
59 if Preferences.getMultiProject("TimestampFile"): |
61 if Preferences.getMultiProject("TimestampFile"): |
60 multiProjectDict["header"]["saved"] = time.strftime("%Y-%m-%d, %H:%M:%S") |
62 multiProjectDict["header"]["saved"] = time.strftime("%Y-%m-%d, %H:%M:%S") |
61 |
63 |
62 multiProjectDict["description"] = self.__multiProject.description |
64 multiProjectDict["description"] = self.__multiProject.description |
63 multiProjectDict["projects"] = list(self.__multiProject.getProjects()) |
65 multiProjectDict["projects"] = [ |
|
66 p.as_dict() for p in self.__multiProject.getProjects() |
|
67 ] |
64 |
68 |
65 try: |
69 try: |
66 jsonString = json.dumps(multiProjectDict, indent=2) |
70 jsonString = json.dumps(multiProjectDict, indent=2) |
67 with open(filename, "w") as f: |
71 with open(filename, "w") as f: |
68 f.write(jsonString) |
72 f.write(jsonString) |