Helpviewer/UserAgent/UserAgentManager.py

branch
Py2 comp.
changeset 3057
10516539f238
parent 2525
8b507a9a2d40
parent 3002
6ffc581f00f1
child 3058
0a02c433f52d
equal deleted inserted replaced
3056:9986ec0e559a 3057:10516539f238
22 class UserAgentManager(QObject): 22 class UserAgentManager(QObject):
23 """ 23 """
24 Class implementing a user agent manager. 24 Class implementing a user agent manager.
25 25
26 @signal changed() emitted to indicate a change 26 @signal changed() emitted to indicate a change
27 @signal userAgentSettingsSaved() emitted after the user agent settings were saved 27 @signal userAgentSettingsSaved() emitted after the user agent settings
28 were saved
28 """ 29 """
29 changed = pyqtSignal() 30 changed = pyqtSignal()
30 userAgentSettingsSaved = pyqtSignal() 31 userAgentSettingsSaved = pyqtSignal()
31 32
32 def __init__(self, parent=None): 33 def __init__(self, parent=None):
35 36
36 @param parent reference to the parent object (QObject) 37 @param parent reference to the parent object (QObject)
37 """ 38 """
38 super(UserAgentManager, self).__init__(parent) 39 super(UserAgentManager, self).__init__(parent)
39 40
40 self.__agents = {} # dictionary with agent strings indexed by host name 41 self.__agents = {} # dictionary with agent strings indexed
42 # by host name
41 self.__loaded = False 43 self.__loaded = False
42 self.__saveTimer = AutoSaver(self, self.save) 44 self.__saveTimer = AutoSaver(self, self.save)
43 45
44 self.changed.connect(self.__saveTimer.changeOccurred) 46 self.changed.connect(self.__saveTimer.changeOccurred)
45 47
47 """ 49 """
48 Public method to get the file name of the user agents file. 50 Public method to get the file name of the user agents file.
49 51
50 @return name of the user agents file (string) 52 @return name of the user agents file (string)
51 """ 53 """
52 return os.path.join(Utilities.getConfigDir(), "browser", "userAgentSettings.xml") 54 return os.path.join(
55 Utilities.getConfigDir(), "browser", "userAgentSettings.xml")
53 56
54 def save(self): 57 def save(self):
55 """ 58 """
56 Public slot to save the user agent entries to disk. 59 Public slot to save the user agent entries to disk.
57 """ 60 """
62 agentFile = self.getFileName() 65 agentFile = self.getFileName()
63 writer = UserAgentWriter() 66 writer = UserAgentWriter()
64 if not writer.write(agentFile, self.__agents): 67 if not writer.write(agentFile, self.__agents):
65 E5MessageBox.critical(None, 68 E5MessageBox.critical(None,
66 self.trUtf8("Saving user agent data"), 69 self.trUtf8("Saving user agent data"),
67 self.trUtf8("""<p>User agent data could not be saved to <b>{0}</b></p>""" 70 self.trUtf8(
68 ).format(agentFile)) 71 """<p>User agent data could not be saved to"""
72 """ <b>{0}</b></p>""").format(agentFile))
69 else: 73 else:
70 self.userAgentSettingsSaved.emit() 74 self.userAgentSettingsSaved.emit()
71 75
72 def __load(self): 76 def __load(self):
73 """ 77 """
156 del self.__agents[host] 160 del self.__agents[host]
157 self.changed.emit() 161 self.changed.emit()
158 162
159 def allHostNames(self): 163 def allHostNames(self):
160 """ 164 """
161 Public method to get a list of all host names we a user agent setting for. 165 Public method to get a list of all host names we a user agent setting
166 for.
162 167
163 @return sorted list of all host names (list of strings) 168 @return sorted list of all host names (list of strings)
164 """ 169 """
165 if not self.__loaded: 170 if not self.__loaded:
166 self.__load() 171 self.__load()

eric ide

mercurial