E5XML/TemplatesReader.py

changeset 6425
2f37e52a6c70
parent 6048
82ad8ec9548c
child 6645
ad476851d7e0
equal deleted inserted replaced
6424:5e74c4e22e9a 6425:2f37e52a6c70
7 Module implementing a class for reading an XML templates file. 7 Module implementing a class for reading an XML templates file.
8 """ 8 """
9 9
10 from __future__ import unicode_literals 10 from __future__ import unicode_literals
11 11
12 from E5Gui.E5Application import e5App
13
14 from .Config import templatesFileFormatVersion 12 from .Config import templatesFileFormatVersion
15 from .XMLStreamReaderBase import XMLStreamReaderBase 13 from .XMLStreamReaderBase import XMLStreamReaderBase
16 14
17 15
18 class TemplatesReader(XMLStreamReaderBase): 16 class TemplatesReader(XMLStreamReaderBase):
19 """ 17 """
20 Class for reading an XML tasks file. 18 Class for reading an XML tasks file.
21 """ 19 """
22 supportedVersions = ["4.0"] 20 supportedVersions = ["4.0"]
23 21
24 def __init__(self, device, viewer=None): 22 def __init__(self, device, viewer):
25 """ 23 """
26 Constructor 24 Constructor
27 25
28 @param device reference to the I/O device to read from (QIODevice) 26 @param device reference to the I/O device to read from (QIODevice)
29 @param viewer reference to the template viewer object (TemplateViewer) 27 @param viewer reference to the template viewer object (TemplateViewer)
30 """ 28 """
31 XMLStreamReaderBase.__init__(self, device) 29 XMLStreamReaderBase.__init__(self, device)
32 30
33 if viewer: 31 self.__viewer = viewer
34 self.viewer = viewer
35 else:
36 self.viewer = e5App().getObject("TemplateViewer")
37 32
38 self.version = "" 33 self.version = ""
39 self.groupName = "DEFAULT" 34 self.groupName = "DEFAULT"
40 35
41 def readXML(self): 36 def readXML(self):
61 """ 56 """
62 Private method to read a template group. 57 Private method to read a template group.
63 """ 58 """
64 self.groupName = self.attribute('name', "DEFAULT") 59 self.groupName = self.attribute('name', "DEFAULT")
65 language = self.attribute('language', "All") 60 language = self.attribute('language', "All")
66 self.viewer.addGroup(self.groupName, language) 61 self.__viewer.addGroup(self.groupName, language)
67 62
68 while not self.atEnd(): 63 while not self.atEnd():
69 self.readNext() 64 self.readNext()
70 if self.isEndElement() and self.name() == "TemplateGroup": 65 if self.isEndElement() and self.name() == "TemplateGroup":
71 break 66 break
87 while not self.atEnd(): 82 while not self.atEnd():
88 self.readNext() 83 self.readNext()
89 if self.isEndElement() and \ 84 if self.isEndElement() and \
90 self.name() == "Template" and \ 85 self.name() == "Template" and \
91 templateName: 86 templateName:
92 self.viewer.addEntry(self.groupName, templateName, 87 self.__viewer.addEntry(self.groupName, templateName,
93 templateDescription, templateText, 88 templateDescription, templateText,
94 quiet=True) 89 quiet=True)
95 break 90 break
96 91
97 if self.isStartElement(): 92 if self.isStartElement():
98 if self.name() == "TemplateDescription": 93 if self.name() == "TemplateDescription":
99 templateDescription = self.readElementText() 94 templateDescription = self.readElementText()

eric ide

mercurial