Helpviewer/UserAgent/UserAgentManager.py

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

eric ide

mercurial