Helpviewer/Network/NetworkAccessManager.py

branch
Py2 comp.
changeset 2791
a9577f248f04
parent 2698
1dcd5d887980
parent 2699
dd62671c6d5a
child 3057
10516539f238
equal deleted inserted replaced
2790:6686a3326df8 2791:a9577f248f04
9 9
10 from __future__ import unicode_literals # __IGNORE_WARNING__ 10 from __future__ import unicode_literals # __IGNORE_WARNING__
11 11
12 import os 12 import os
13 13
14 from PyQt4.QtCore import pyqtSignal, QByteArray 14 from PyQt4.QtCore import pyqtSignal, QByteArray, qVersion
15 from PyQt4.QtGui import QDialog 15 from PyQt4.QtGui import QDialog
16 from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkReply 16 from PyQt4.QtNetwork import QNetworkAccessManager, QNetworkRequest, QNetworkReply
17 17
18 from E5Network.E5NetworkProxyFactory import E5NetworkProxyFactory, \ 18 from E5Network.E5NetworkProxyFactory import E5NetworkProxyFactory, \
19 proxyAuthenticationRequired 19 proxyAuthenticationRequired
140 140
141 if hasattr(QNetworkRequest, 'HttpPipeliningAllowedAttribute'): 141 if hasattr(QNetworkRequest, 'HttpPipeliningAllowedAttribute'):
142 req.setAttribute(QNetworkRequest.HttpPipeliningAllowedAttribute, True) 142 req.setAttribute(QNetworkRequest.HttpPipeliningAllowedAttribute, True)
143 if not self.__acceptLanguage.isEmpty(): 143 if not self.__acceptLanguage.isEmpty():
144 req.setRawHeader("Accept-Language", self.__acceptLanguage) 144 req.setRawHeader("Accept-Language", self.__acceptLanguage)
145
146 # set cache policy
147 if op == QNetworkAccessManager.GetOperation:
148 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
149 Preferences.getHelp("CachePolicy"))
150 else:
151 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
152 QNetworkRequest.AlwaysNetwork)
153 145
154 # AdBlock code 146 # AdBlock code
155 if op == QNetworkAccessManager.GetOperation: 147 if op == QNetworkAccessManager.GetOperation:
156 if self.__adblockNetwork is None: 148 if self.__adblockNetwork is None:
157 self.__adblockNetwork = \ 149 self.__adblockNetwork = \
158 Helpviewer.HelpWindow.HelpWindow.adBlockManager().network() 150 Helpviewer.HelpWindow.HelpWindow.adBlockManager().network()
159 reply = self.__adblockNetwork.block(req) 151 reply = self.__adblockNetwork.block(req)
160 if reply is not None: 152 if reply is not None:
161 reply.setParent(self) 153 reply.setParent(self)
162 return reply 154 return reply
155
156 # set cache policy
157 if op == QNetworkAccessManager.GetOperation:
158 urlHost = req.url().host()
159 for host in Preferences.getHelp("NoCacheHosts"):
160 if host in urlHost:
161 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
162 QNetworkRequest.AlwaysNetwork)
163 break
164 else:
165 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
166 Preferences.getHelp("CachePolicy"))
167 else:
168 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
169 QNetworkRequest.AlwaysNetwork)
163 170
164 # Do Not Track feature 171 # Do Not Track feature
165 if self.__doNotTrack: 172 if self.__doNotTrack:
166 req.setRawHeader("DNT", "1") 173 req.setRawHeader("DNT", "1")
167 174
236 def __setDiskCache(self): 243 def __setDiskCache(self):
237 """ 244 """
238 Private method to set the disk cache. 245 Private method to set the disk cache.
239 """ 246 """
240 if Preferences.getHelp("DiskCacheEnabled"): 247 if Preferences.getHelp("DiskCacheEnabled"):
248 from PyQt4.QtWebKit import qWebKitVersion
241 from .NetworkDiskCache import NetworkDiskCache 249 from .NetworkDiskCache import NetworkDiskCache
242 diskCache = NetworkDiskCache(self) 250 diskCache = NetworkDiskCache(self)
243 location = os.path.join(Utilities.getConfigDir(), "browser", 'cache') 251 location = os.path.join(Utilities.getConfigDir(), "browser", 'cache',
252 "{0}-Qt{1}".format(qWebKitVersion(), qVersion()))
244 size = Preferences.getHelp("DiskCacheSize") * 1024 * 1024 253 size = Preferences.getHelp("DiskCacheSize") * 1024 * 1024
245 diskCache.setCacheDirectory(location) 254 diskCache.setCacheDirectory(location)
246 diskCache.setMaximumCacheSize(size) 255 diskCache.setMaximumCacheSize(size)
247 else: 256 else:
248 diskCache = None 257 diskCache = None

eric ide

mercurial