src/eric7/MultiProject/MultiProjectFile.py

branch
eric7
changeset 10410
da82156f44e9
parent 10050
3750abc45d5e
child 10439
21c28b0f9e41
equal deleted inserted replaced
10409:8d888f38bf89 10410:da82156f44e9
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)
105 ) 109 )
106 return False 110 return False
107 111
108 self.__multiProject.description = multiProjectDict["description"] 112 self.__multiProject.description = multiProjectDict["description"]
109 for project in multiProjectDict["projects"]: 113 for project in multiProjectDict["projects"]:
110 self.__multiProject.addProject(project) 114 self.__multiProject.addProject(MultiProjectProjectMeta.from_dict(project))
111 115
112 return True 116 return True

eric ide

mercurial