15 |
15 |
16 class UserProjectReader(XMLStreamReaderBase): |
16 class UserProjectReader(XMLStreamReaderBase): |
17 """ |
17 """ |
18 Class for reading an XML user project properties file. |
18 Class for reading an XML user project properties file. |
19 """ |
19 """ |
|
20 |
20 supportedVersions = ["4.0"] |
21 supportedVersions = ["4.0"] |
21 |
22 |
22 def __init__(self, device, project): |
23 def __init__(self, device, project): |
23 """ |
24 """ |
24 Constructor |
25 Constructor |
25 |
26 |
26 @param device reference to the I/O device to read from (QIODevice) |
27 @param device reference to the I/O device to read from (QIODevice) |
27 @param project Reference to the project object to store the |
28 @param project Reference to the project object to store the |
28 information into. |
29 information into. |
29 """ |
30 """ |
30 XMLStreamReaderBase.__init__(self, device) |
31 XMLStreamReaderBase.__init__(self, device) |
31 |
32 |
32 self.project = project |
33 self.project = project |
33 |
34 |
34 self.version = "" |
35 self.version = "" |
35 |
36 |
36 def readXML(self): |
37 def readXML(self): |
37 """ |
38 """ |
38 Public method to read and parse the XML document. |
39 Public method to read and parse the XML document. |
39 """ |
40 """ |
40 while not self.atEnd(): |
41 while not self.atEnd(): |
41 self.readNext() |
42 self.readNext() |
42 if self.isStartElement(): |
43 if self.isStartElement(): |
43 if self.name() == "UserProject": |
44 if self.name() == "UserProject": |
44 self.version = self.attribute( |
45 self.version = self.attribute( |
45 "version", userProjectFileFormatVersion) |
46 "version", userProjectFileFormatVersion |
|
47 ) |
46 if self.version not in self.supportedVersions: |
48 if self.version not in self.supportedVersions: |
47 self.raiseUnsupportedFormatVersion(self.version) |
49 self.raiseUnsupportedFormatVersion(self.version) |
48 elif self.name() == "VcsType": |
50 elif self.name() == "VcsType": |
49 self.project.pudata["VCSOVERRIDE"] = self.readElementText() |
51 self.project.pudata["VCSOVERRIDE"] = self.readElementText() |
50 elif self.name() == "VcsStatusMonitorInterval": |
52 elif self.name() == "VcsStatusMonitorInterval": |
51 interval = int(self.attribute( |
53 interval = int( |
52 "value", |
54 self.attribute( |
53 Preferences.getVCS("StatusMonitorInterval"))) |
55 "value", Preferences.getVCS("StatusMonitorInterval") |
|
56 ) |
|
57 ) |
54 self.project.pudata["VCSSTATUSMONITORINTERVAL"] = interval |
58 self.project.pudata["VCSSTATUSMONITORINTERVAL"] = interval |
55 else: |
59 else: |
56 self.raiseUnexpectedStartTag(self.name()) |
60 self.raiseUnexpectedStartTag(self.name()) |
57 |
61 |
58 self.showErrorMessage() |
62 self.showErrorMessage() |