Wed, 30 Dec 2020 11:00:05 +0100
Updated copyright for 2021.
606
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
1 | # -*- coding: utf-8 -*- |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
2 | |
7923
91e843545d9a
Updated copyright for 2021.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
7780
diff
changeset
|
3 | # Copyright (c) 2010 - 2021 Detlev Offenbach <detlev@die-offenbachs.de> |
606
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
4 | # |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
5 | |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
6 | """ |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
7 | Module implementing a class for reading an XML user project properties file. |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
8 | """ |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
9 | |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
10 | from .Config import userProjectFileFormatVersion |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
11 | from .XMLStreamReaderBase import XMLStreamReaderBase |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
12 | |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
13 | import Preferences |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
14 | |
945
8cd4d08fa9f6
Made code mostly PEP 8 compliant (except all whitespace and line length).
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
791
diff
changeset
|
15 | |
606
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
16 | class UserProjectReader(XMLStreamReaderBase): |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
17 | """ |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
18 | Class for reading an XML user project properties file. |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
19 | """ |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
20 | supportedVersions = ["4.0"] |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
21 | |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
22 | def __init__(self, device, project): |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
23 | """ |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
24 | Constructor |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
25 | |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
26 | @param device reference to the I/O device to read from (QIODevice) |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
27 | @param project Reference to the project object to store the |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
28 | information into. |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
29 | """ |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
30 | XMLStreamReaderBase.__init__(self, device) |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
31 | |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
32 | self.project = project |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
33 | |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
34 | self.version = "" |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
35 | |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
36 | def readXML(self): |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
37 | """ |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
38 | Public method to read and parse the XML document. |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
39 | """ |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
40 | while not self.atEnd(): |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
41 | self.readNext() |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
42 | if self.isStartElement(): |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
43 | if self.name() == "UserProject": |
2992
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
44 | self.version = self.attribute( |
dbdf27746da5
Continued to shorten the code lines to max. 79 characters.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2302
diff
changeset
|
45 | "version", userProjectFileFormatVersion) |
606
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
46 | if self.version not in self.supportedVersions: |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
47 | self.raiseUnsupportedFormatVersion(self.version) |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
48 | elif self.name() == "VcsType": |
5098
bc74f74a95f5
Started to clean up some code related to the Project class and data structures.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
49 | self.project.pudata["VCSOVERRIDE"] = self.readElementText() |
606
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
50 | elif self.name() == "VcsStatusMonitorInterval": |
3022
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
51 | interval = int(self.attribute( |
57179e4cdadd
Fixed a bunch of visible indentation issues.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
2992
diff
changeset
|
52 | "value", |
606
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
53 | Preferences.getVCS("StatusMonitorInterval"))) |
5098
bc74f74a95f5
Started to clean up some code related to the Project class and data structures.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
4631
diff
changeset
|
54 | self.project.pudata["VCSSTATUSMONITORINTERVAL"] = interval |
606
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
55 | else: |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
56 | self.raiseUnexpectedStartTag(self.name()) |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
57 | |
cc26d1c27da5
Migrated user project properties handler to user project properties reader/writer.
Detlev Offenbach <detlev@die-offenbachs.de>
parents:
diff
changeset
|
58 | self.showErrorMessage() |