Helpviewer/Network/NetworkAccessManager.py

changeset 2403
e3d7a861547c
parent 2354
c63de4af553d
child 2411
aec0a8a6e548
equal deleted inserted replaced
2402:304fcefd3b04 2403:e3d7a861547c
20 from E5Network.E5SslErrorHandler import E5SslErrorHandler 20 from E5Network.E5SslErrorHandler import E5SslErrorHandler
21 SSL_AVAILABLE = True 21 SSL_AVAILABLE = True
22 except ImportError: 22 except ImportError:
23 SSL_AVAILABLE = False 23 SSL_AVAILABLE = False
24 24
25 from UI.AuthenticationDialog import AuthenticationDialog
26
27 from Helpviewer.HelpLanguagesDialog import HelpLanguagesDialog
28 import Helpviewer.HelpWindow
29
30 from .NetworkProtocolUnknownErrorReply import NetworkProtocolUnknownErrorReply
31 from .NetworkDiskCache import NetworkDiskCache
32
33 from .QtHelpAccessHandler import QtHelpAccessHandler
34 from .EricAccessHandler import EricAccessHandler
35 from .AboutAccessHandler import AboutAccessHandler
36 from .FtpAccessHandler import FtpAccessHandler
37 from .FileAccessHandler import FileAccessHandler
38
39 from Helpviewer.AdBlock.AdBlockAccessHandler import AdBlockAccessHandler
40
41 import Preferences 25 import Preferences
42 import Utilities 26 import Utilities
43 27
44 28
45 class NetworkAccessManager(QNetworkAccessManager): 29 class NetworkAccessManager(QNetworkAccessManager):
80 64
81 self.__doNotTrack = Preferences.getHelp("DoNotTrack") 65 self.__doNotTrack = Preferences.getHelp("DoNotTrack")
82 self.__sendReferer = Preferences.getHelp("SendReferer") 66 self.__sendReferer = Preferences.getHelp("SendReferer")
83 67
84 # register scheme handlers 68 # register scheme handlers
69 from .QtHelpAccessHandler import QtHelpAccessHandler
85 self.setSchemeHandler("qthelp", QtHelpAccessHandler(engine, self)) 70 self.setSchemeHandler("qthelp", QtHelpAccessHandler(engine, self))
71
72 from .EricAccessHandler import EricAccessHandler
86 self.setSchemeHandler("eric", EricAccessHandler(self)) 73 self.setSchemeHandler("eric", EricAccessHandler(self))
74
75 from .AboutAccessHandler import AboutAccessHandler
87 self.setSchemeHandler("about", AboutAccessHandler(self)) 76 self.setSchemeHandler("about", AboutAccessHandler(self))
77
78 from Helpviewer.AdBlock.AdBlockAccessHandler import AdBlockAccessHandler
88 self.setSchemeHandler("abp", AdBlockAccessHandler(self)) 79 self.setSchemeHandler("abp", AdBlockAccessHandler(self))
80
81 from .FtpAccessHandler import FtpAccessHandler
89 self.setSchemeHandler("ftp", FtpAccessHandler(self)) 82 self.setSchemeHandler("ftp", FtpAccessHandler(self))
83
84 from .FileAccessHandler import FileAccessHandler
90 self.setSchemeHandler("file", FileAccessHandler(self)) 85 self.setSchemeHandler("file", FileAccessHandler(self))
91 86
92 def setSchemeHandler(self, scheme, handler): 87 def setSchemeHandler(self, scheme, handler):
93 """ 88 """
94 Public method to register a scheme handler. 89 Public method to register a scheme handler.
108 (QIODevice) 103 (QIODevice)
109 @return reference to the created reply object (QNetworkReply) 104 @return reference to the created reply object (QNetworkReply)
110 """ 105 """
111 scheme = request.url().scheme() 106 scheme = request.url().scheme()
112 if scheme == "https" and (not SSL_AVAILABLE or not QSslSocket.supportsSsl()): 107 if scheme == "https" and (not SSL_AVAILABLE or not QSslSocket.supportsSsl()):
108 from .NetworkProtocolUnknownErrorReply import NetworkProtocolUnknownErrorReply
113 return NetworkProtocolUnknownErrorReply(scheme, self) 109 return NetworkProtocolUnknownErrorReply(scheme, self)
110
111 import Helpviewer.HelpWindow
114 112
115 if op == QNetworkAccessManager.PostOperation and outgoingData is not None: 113 if op == QNetworkAccessManager.PostOperation and outgoingData is not None:
116 outgoingDataByteArray = outgoingData.peek(1024 * 1024) 114 outgoingDataByteArray = outgoingData.peek(1024 * 1024)
117 Helpviewer.HelpWindow.HelpWindow.passwordManager().post( 115 Helpviewer.HelpWindow.HelpWindow.passwordManager().post(
118 request, outgoingDataByteArray) 116 request, outgoingDataByteArray)
186 info = self.trUtf8("<b>Enter username and password for '{0}', " 184 info = self.trUtf8("<b>Enter username and password for '{0}', "
187 "realm '{1}'</b>").format(urlRoot, realm) 185 "realm '{1}'</b>").format(urlRoot, realm)
188 else: 186 else:
189 info = self.trUtf8("<b>Enter username and password for '{0}'</b>")\ 187 info = self.trUtf8("<b>Enter username and password for '{0}'</b>")\
190 .format(urlRoot) 188 .format(urlRoot)
189
190 from UI.AuthenticationDialog import AuthenticationDialog
191 import Helpviewer.HelpWindow
191 192
192 dlg = AuthenticationDialog(info, auth.user(), 193 dlg = AuthenticationDialog(info, auth.user(),
193 Preferences.getUser("SavePasswords"), 194 Preferences.getUser("SavePasswords"),
194 Preferences.getUser("SavePasswords")) 195 Preferences.getUser("SavePasswords"))
195 if Preferences.getUser("SavePasswords"): 196 if Preferences.getUser("SavePasswords"):
217 218
218 def languagesChanged(self): 219 def languagesChanged(self):
219 """ 220 """
220 Public slot to (re-)load the list of accepted languages. 221 Public slot to (re-)load the list of accepted languages.
221 """ 222 """
223 from Helpviewer.HelpLanguagesDialog import HelpLanguagesDialog
222 languages = Preferences.toList( 224 languages = Preferences.toList(
223 Preferences.Prefs.settings.value("Help/AcceptLanguages", 225 Preferences.Prefs.settings.value("Help/AcceptLanguages",
224 HelpLanguagesDialog.defaultAcceptLanguages())) 226 HelpLanguagesDialog.defaultAcceptLanguages()))
225 self.__acceptLanguage = HelpLanguagesDialog.httpString(languages) 227 self.__acceptLanguage = HelpLanguagesDialog.httpString(languages)
226 228
227 def __setDiskCache(self): 229 def __setDiskCache(self):
228 """ 230 """
229 Private method to set the disk cache. 231 Private method to set the disk cache.
230 """ 232 """
231 if NetworkDiskCache is not None: 233 if Preferences.getHelp("DiskCacheEnabled"):
232 if Preferences.getHelp("DiskCacheEnabled"): 234 from .NetworkDiskCache import NetworkDiskCache
233 diskCache = NetworkDiskCache(self) 235 diskCache = NetworkDiskCache(self)
234 location = os.path.join(Utilities.getConfigDir(), "browser", 'cache') 236 location = os.path.join(Utilities.getConfigDir(), "browser", 'cache')
235 size = Preferences.getHelp("DiskCacheSize") * 1024 * 1024 237 size = Preferences.getHelp("DiskCacheSize") * 1024 * 1024
236 diskCache.setCacheDirectory(location) 238 diskCache.setCacheDirectory(location)
237 diskCache.setMaximumCacheSize(size) 239 diskCache.setMaximumCacheSize(size)
238 else: 240 else:
239 diskCache = None 241 diskCache = None
240 self.setCache(diskCache) 242 self.setCache(diskCache)

eric ide

mercurial