--- a/src/eric7/MultiProject/MultiProjectFile.py Wed Jul 13 11:16:20 2022 +0200 +++ b/src/eric7/MultiProject/MultiProjectFile.py Wed Jul 13 14:55:47 2022 +0200 @@ -26,10 +26,11 @@ """ Class representing the multi project JSON file. """ + def __init__(self, multiProject: MultiProject, parent: QObject = None): """ Constructor - + @param multiProject reference to the multi project object @type MultiProject @param parent reference to the parent object (defaults to None) @@ -37,32 +38,30 @@ """ super().__init__(parent) self.__multiProject = multiProject - + def writeFile(self, filename: str) -> bool: """ Public method to write the multi project data to a multi project JSON file. - + @param filename name of the multi project file @type str @return flag indicating a successful write @rtype bool """ name = os.path.splitext(os.path.basename(filename))[0] - + multiProjectDict = {} multiProjectDict["header"] = { "comment": f"eric multi project file for multi project {name}", } - + if Preferences.getMultiProject("TimestampFile"): - multiProjectDict["header"]["saved"] = ( - time.strftime('%Y-%m-%d, %H:%M:%S') - ) - + multiProjectDict["header"]["saved"] = time.strftime("%Y-%m-%d, %H:%M:%S") + multiProjectDict["description"] = self.__multiProject.description multiProjectDict["projects"] = list(self.__multiProject.getProjects()) - + try: jsonString = json.dumps(multiProjectDict, indent=2) with open(filename, "w") as f: @@ -75,17 +74,17 @@ self.tr( "<p>The multi project file <b>{0}</b> could not be " "written.</p><p>Reason: {1}</p>" - ).format(filename, str(err)) + ).format(filename, str(err)), ) return False - + return True - + def readFile(self, filename: str) -> bool: """ Public method to read the multi project data from a multi project JSON file. - + @param filename name of the multi project file @type str @return flag indicating a successful read @@ -102,12 +101,12 @@ self.tr( "<p>The multi project file <b>{0}</b> could not be " "read.</p><p>Reason: {1}</p>" - ).format(filename, str(err)) + ).format(filename, str(err)), ) return False - + self.__multiProject.description = multiProjectDict["description"] for project in multiProjectDict["projects"]: self.__multiProject.addProject(project) - + return True