src/eric7/EricXML/TemplatesReader.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9653
e67609152c5e
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
13 13
14 class TemplatesReader(XMLStreamReaderBase): 14 class TemplatesReader(XMLStreamReaderBase):
15 """ 15 """
16 Class for reading an XML tasks file. 16 Class for reading an XML tasks file.
17 """ 17 """
18
18 supportedVersions = ["4.0"] 19 supportedVersions = ["4.0"]
19 20
20 def __init__(self, device, viewer): 21 def __init__(self, device, viewer):
21 """ 22 """
22 Constructor 23 Constructor
23 24
24 @param device reference to the I/O device to read from (QIODevice) 25 @param device reference to the I/O device to read from (QIODevice)
25 @param viewer reference to the template viewer object (TemplateViewer) 26 @param viewer reference to the template viewer object (TemplateViewer)
26 """ 27 """
27 XMLStreamReaderBase.__init__(self, device) 28 XMLStreamReaderBase.__init__(self, device)
28 29
29 self.__viewer = viewer 30 self.__viewer = viewer
30 31
31 self.version = "" 32 self.version = ""
32 self.groupName = "DEFAULT" 33 self.groupName = "DEFAULT"
33 34
34 def readXML(self): 35 def readXML(self):
35 """ 36 """
36 Public method to read and parse the XML document. 37 Public method to read and parse the XML document.
37 """ 38 """
38 while not self.atEnd(): 39 while not self.atEnd():
39 self.readNext() 40 self.readNext()
40 if self.isStartElement(): 41 if self.isStartElement():
41 if self.name() == "Templates": 42 if self.name() == "Templates":
42 self.version = self.attribute( 43 self.version = self.attribute("version", templatesFileFormatVersion)
43 "version", templatesFileFormatVersion)
44 if self.version not in self.supportedVersions: 44 if self.version not in self.supportedVersions:
45 self.raiseUnsupportedFormatVersion(self.version) 45 self.raiseUnsupportedFormatVersion(self.version)
46 elif self.name() == "TemplateGroup": 46 elif self.name() == "TemplateGroup":
47 self.__readTemplateGroup() 47 self.__readTemplateGroup()
48 else: 48 else:
49 self.raiseUnexpectedStartTag(self.name()) 49 self.raiseUnexpectedStartTag(self.name())
50 50
51 self.showErrorMessage() 51 self.showErrorMessage()
52 52
53 def __readTemplateGroup(self): 53 def __readTemplateGroup(self):
54 """ 54 """
55 Private method to read a template group. 55 Private method to read a template group.
56 """ 56 """
57 self.groupName = self.attribute('name', "DEFAULT") 57 self.groupName = self.attribute("name", "DEFAULT")
58 language = self.attribute('language', "All") 58 language = self.attribute("language", "All")
59 self.__viewer.addGroup(self.groupName, language) 59 self.__viewer.addGroup(self.groupName, language)
60 60
61 while not self.atEnd(): 61 while not self.atEnd():
62 self.readNext() 62 self.readNext()
63 if self.isEndElement() and self.name() == "TemplateGroup": 63 if self.isEndElement() and self.name() == "TemplateGroup":
64 break 64 break
65 65
66 if self.isStartElement(): 66 if self.isStartElement():
67 if self.name() == "Template": 67 if self.name() == "Template":
68 self.__readTemplate() 68 self.__readTemplate()
69 else: 69 else:
70 self.raiseUnexpectedStartTag(self.name()) 70 self.raiseUnexpectedStartTag(self.name())
71 71
72 def __readTemplate(self): 72 def __readTemplate(self):
73 """ 73 """
74 Private method to read the template definition. 74 Private method to read the template definition.
75 """ 75 """
76 templateName = self.attribute('name', '') 76 templateName = self.attribute("name", "")
77 templateDescription = "" 77 templateDescription = ""
78 templateText = "" 78 templateText = ""
79 79
80 while not self.atEnd(): 80 while not self.atEnd():
81 self.readNext() 81 self.readNext()
82 if ( 82 if self.isEndElement() and self.name() == "Template" and templateName:
83 self.isEndElement() and 83 self.__viewer.addEntry(
84 self.name() == "Template" and 84 self.groupName,
85 templateName 85 templateName,
86 ): 86 templateDescription,
87 self.__viewer.addEntry(self.groupName, templateName, 87 templateText,
88 templateDescription, templateText, 88 quiet=True,
89 quiet=True) 89 )
90 break 90 break
91 91
92 if self.isStartElement(): 92 if self.isStartElement():
93 if self.name() == "TemplateDescription": 93 if self.name() == "TemplateDescription":
94 templateDescription = self.readElementText() 94 templateDescription = self.readElementText()
95 elif self.name() == "TemplateText": 95 elif self.name() == "TemplateText":
96 templateText = self.readElementText() 96 templateText = self.readElementText()

eric ide

mercurial