src/eric7/WebBrowser/UserAgent/UserAgentWriter.py

branch
eric7
changeset 9221
bf71ee032bb4
parent 9209
b99e7fd55fd3
child 9473
3f23dbf37dbe
equal deleted inserted replaced
9220:e9e7eca7efee 9221:bf71ee032bb4
12 12
13 class UserAgentWriter(QXmlStreamWriter): 13 class UserAgentWriter(QXmlStreamWriter):
14 """ 14 """
15 Class implementing a writer object to generate user agent data files. 15 Class implementing a writer object to generate user agent data files.
16 """ 16 """
17
17 def __init__(self): 18 def __init__(self):
18 """ 19 """
19 Constructor 20 Constructor
20 """ 21 """
21 super().__init__() 22 super().__init__()
22 23
23 self.setAutoFormatting(True) 24 self.setAutoFormatting(True)
24 25
25 def write(self, fileNameOrDevice, agents): 26 def write(self, fileNameOrDevice, agents):
26 """ 27 """
27 Public method to write a user agent data file. 28 Public method to write a user agent data file.
28 29
29 @param fileNameOrDevice name of the file to write (string) 30 @param fileNameOrDevice name of the file to write (string)
30 or device to write to (QIODevice) 31 or device to write to (QIODevice)
31 @param agents dictionary with user agent data (host as key, agent 32 @param agents dictionary with user agent data (host as key, agent
32 string as value) 33 string as value)
33 @return flag indicating success (boolean) 34 @return flag indicating success (boolean)
36 f = fileNameOrDevice 37 f = fileNameOrDevice
37 else: 38 else:
38 f = QFile(fileNameOrDevice) 39 f = QFile(fileNameOrDevice)
39 if not f.open(QIODevice.OpenModeFlag.WriteOnly): 40 if not f.open(QIODevice.OpenModeFlag.WriteOnly):
40 return False 41 return False
41 42
42 self.setDevice(f) 43 self.setDevice(f)
43 return self.__write(agents) 44 return self.__write(agents)
44 45
45 def __write(self, agents): 46 def __write(self, agents):
46 """ 47 """
47 Private method to write a user agent file. 48 Private method to write a user agent file.
48 49
49 @param agents dictionary with user agent data (host as key, agent 50 @param agents dictionary with user agent data (host as key, agent
50 string as value) 51 string as value)
51 @return flag indicating success (boolean) 52 @return flag indicating success (boolean)
52 """ 53 """
53 self.writeStartDocument() 54 self.writeStartDocument()
54 self.writeDTD("<!DOCTYPE useragents>") 55 self.writeDTD("<!DOCTYPE useragents>")
55 self.writeStartElement("UserAgents") 56 self.writeStartElement("UserAgents")
56 self.writeAttribute("version", "1.0") 57 self.writeAttribute("version", "1.0")
57 58
58 for host, agent in agents.items(): 59 for host, agent in agents.items():
59 self.writeEmptyElement("UserAgent") 60 self.writeEmptyElement("UserAgent")
60 self.writeAttribute("host", host) 61 self.writeAttribute("host", host)
61 self.writeAttribute("agent", agent) 62 self.writeAttribute("agent", agent)
62 63
63 self.writeEndDocument() 64 self.writeEndDocument()
64 return True 65 return True

eric ide

mercurial