E5XML/UserProjectReader.py

changeset 606
cc26d1c27da5
child 791
9ec2ac20e54e
equal deleted inserted replaced
605:9c7527ecbf6e 606:cc26d1c27da5
1 # -*- coding: utf-8 -*-
2
3 # Copyright (c) 2010 Detlev Offenbach <detlev@die-offenbachs.de>
4 #
5
6 """
7 Module implementing a class for reading an XML user project properties file.
8 """
9
10 from .Config import userProjectFileFormatVersion
11 from .XMLStreamReaderBase import XMLStreamReaderBase
12
13 import Preferences
14
15 class UserProjectReader(XMLStreamReaderBase):
16 """
17 Class for reading an XML user project properties file.
18 """
19 supportedVersions = ["4.0"]
20
21 def __init__(self, device, project):
22 """
23 Constructor
24
25 @param device reference to the I/O device to read from (QIODevice)
26 @param project Reference to the project object to store the
27 information into.
28 """
29 XMLStreamReaderBase.__init__(self, device)
30
31 self.project = project
32
33 self.version = ""
34
35 def readXML(self):
36 """
37 Public method to read and parse the XML document.
38 """
39 while not self.atEnd():
40 self.readNext()
41 if self.isStartElement():
42 if self.name() == "UserProject":
43 self.version = self.attribute("version", userProjectFileFormatVersion)
44 if self.version not in self.supportedVersions:
45 self.raiseUnsupportedFormatVersion(self.version)
46 elif self.name() == "VcsType":
47 self.project.pudata["VCSOVERRIDE"] = [self.readElementText()]
48 elif self.name() == "VcsStatusMonitorInterval":
49 interval = int(self.attribute("value",
50 Preferences.getVCS("StatusMonitorInterval")))
51 self.project.pudata["VCSSTATUSMONITORINTERVAL"] = [interval]
52 else:
53 self.raiseUnexpectedStartTag(self.name())
54
55 self.showErrorMessage()

eric ide

mercurial