src/eric7/EricXML/MultiProjectReader.py

branch
eric7
changeset 10410
da82156f44e9
parent 9653
e67609152c5e
child 10423
299802979277
equal deleted inserted replaced
10409:8d888f38bf89 10410:da82156f44e9
9 9
10 import os 10 import os
11 11
12 from PyQt6.QtCore import QUuid 12 from PyQt6.QtCore import QUuid
13 13
14 from eric7.MultiProject.MultiProjectProjectMeta import MultiProjectProjectMeta
14 from eric7.SystemUtilities import FileSystemUtilities 15 from eric7.SystemUtilities import FileSystemUtilities
15 16
16 from .Config import multiProjectFileFormatVersion 17 from .Config import multiProjectFileFormatVersion
17 from .XMLStreamReaderBase import XMLStreamReaderBase 18 from .XMLStreamReaderBase import XMLStreamReaderBase
18 19
78 79
79 def __readProject(self): 80 def __readProject(self):
80 """ 81 """
81 Private method to read the project info. 82 Private method to read the project info.
82 """ 83 """
83 project = {} 84 uid = self.attribute("uid", "")
84 85
85 uid = self.attribute("uid", "") 86 project = MultiProjectProjectMeta(
86 if uid: 87 name="",
87 project["uid"] = uid 88 file="",
88 else: 89 uid=uid if uid else QUuid.createUuid().toString(),
89 # upgrade from pre 5.1 format 90 master=self.toBool(self.attribute("isMaster", "False")),
90 project["uid"] = QUuid.createUuid().toString() 91 )
91 project["master"] = self.toBool(self.attribute("isMaster", "False"))
92 92
93 while not self.atEnd(): 93 while not self.atEnd():
94 self.readNext() 94 self.readNext()
95 if self.isEndElement() and self.name() == "Project": 95 if self.isEndElement() and self.name() == "Project":
96 if "category" not in project:
97 # upgrade from 4.2 format
98 project["category"] = ""
99 self.multiProject.addProject(project) 96 self.multiProject.addProject(project)
100 break 97 break
101 98
102 if self.isStartElement(): 99 if self.isStartElement():
103 if self.name() == "ProjectName": 100 if self.name() == "ProjectName":
104 project["name"] = self.readElementText() 101 project.name = self.readElementText()
105 elif self.name() == "ProjectFile": 102 elif self.name() == "ProjectFile":
106 project["file"] = FileSystemUtilities.absoluteUniversalPath( 103 project.file = FileSystemUtilities.absoluteUniversalPath(
107 self.readElementText(), self.path 104 self.readElementText(), self.path
108 ) 105 )
109 elif self.name() == "ProjectDescription": 106 elif self.name() == "ProjectDescription":
110 project["description"] = self.readElementText() 107 project.description = self.readElementText()
111 elif self.name() == "ProjectCategory": 108 elif self.name() == "ProjectCategory":
112 project["category"] = self.readElementText() 109 project.category = self.readElementText()
113 else: 110 else:
114 self.raiseUnexpectedStartTag(self.name()) 111 self.raiseUnexpectedStartTag(self.name())

eric ide

mercurial