Helpviewer/Network/NetworkAccessManager.py

branch
5_3_x
changeset 2692
6433ec640d10
parent 2687
33a848c5e46f
child 2700
cb064ba8fcfa
equal deleted inserted replaced
2691:0499c802883f 2692:6433ec640d10
52 @signal requestCreated(QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply) 52 @signal requestCreated(QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply)
53 emitted after the request has been created 53 emitted after the request has been created
54 """ 54 """
55 requestCreated = pyqtSignal( 55 requestCreated = pyqtSignal(
56 QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply) 56 QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply)
57
58 NoCacheHosts = [
59 "qt-project.org",
60 ]
57 61
58 def __init__(self, engine, parent=None): 62 def __init__(self, engine, parent=None):
59 """ 63 """
60 Constructor 64 Constructor
61 65
158 if hasattr(QNetworkRequest, 'HttpPipeliningAllowedAttribute'): 162 if hasattr(QNetworkRequest, 'HttpPipeliningAllowedAttribute'):
159 req.setAttribute(QNetworkRequest.HttpPipeliningAllowedAttribute, True) 163 req.setAttribute(QNetworkRequest.HttpPipeliningAllowedAttribute, True)
160 if not self.__acceptLanguage.isEmpty(): 164 if not self.__acceptLanguage.isEmpty():
161 req.setRawHeader("Accept-Language", self.__acceptLanguage) 165 req.setRawHeader("Accept-Language", self.__acceptLanguage)
162 166
163 # set cache policy
164 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
165 Preferences.getHelp("CachePolicy"))
166
167 # AdBlock code 167 # AdBlock code
168 if op == QNetworkAccessManager.GetOperation: 168 if op == QNetworkAccessManager.GetOperation:
169 if self.__adblockNetwork is None: 169 if self.__adblockNetwork is None:
170 self.__adblockNetwork = \ 170 self.__adblockNetwork = \
171 Helpviewer.HelpWindow.HelpWindow.adBlockManager().network() 171 Helpviewer.HelpWindow.HelpWindow.adBlockManager().network()
172 reply = self.__adblockNetwork.block(req) 172 reply = self.__adblockNetwork.block(req)
173 if reply is not None: 173 if reply is not None:
174 reply.setParent(self) 174 reply.setParent(self)
175 return reply 175 return reply
176
177 # set cache policy
178 urlHost = req.url().host()
179 for host in self.NoCacheHosts:
180 if host in urlHost:
181 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
182 QNetworkRequest.AlwaysNetwork)
183 break
184 else:
185 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
186 Preferences.getHelp("CachePolicy"))
176 187
177 # Do Not Track feature 188 # Do Not Track feature
178 if self.__doNotTrack: 189 if self.__doNotTrack:
179 req.setRawHeader("DNT", "1") 190 req.setRawHeader("DNT", "1")
180 191

eric ide

mercurial