Helpviewer/Network/NetworkAccessManager.py

changeset 2693
85a85d5824ed
parent 2686
b62077dc52c4
child 2694
d87cbab5d596
equal deleted inserted replaced
2690:8ca13f15e1f2 2693:85a85d5824ed
34 emitted after the request has been created 34 emitted after the request has been created
35 """ 35 """
36 requestCreated = pyqtSignal( 36 requestCreated = pyqtSignal(
37 QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply) 37 QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply)
38 38
39 NoCacheHosts = [
40 "qt-project.org",
41 ]
42
39 def __init__(self, engine, parent=None): 43 def __init__(self, engine, parent=None):
40 """ 44 """
41 Constructor 45 Constructor
42 46
43 @param engine reference to the help engine (QHelpEngine) 47 @param engine reference to the help engine (QHelpEngine)
138 142
139 if hasattr(QNetworkRequest, 'HttpPipeliningAllowedAttribute'): 143 if hasattr(QNetworkRequest, 'HttpPipeliningAllowedAttribute'):
140 req.setAttribute(QNetworkRequest.HttpPipeliningAllowedAttribute, True) 144 req.setAttribute(QNetworkRequest.HttpPipeliningAllowedAttribute, True)
141 if not self.__acceptLanguage.isEmpty(): 145 if not self.__acceptLanguage.isEmpty():
142 req.setRawHeader("Accept-Language", self.__acceptLanguage) 146 req.setRawHeader("Accept-Language", self.__acceptLanguage)
143
144 # set cache policy
145 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
146 Preferences.getHelp("CachePolicy"))
147 147
148 # AdBlock code 148 # AdBlock code
149 if op == QNetworkAccessManager.GetOperation: 149 if op == QNetworkAccessManager.GetOperation:
150 if self.__adblockNetwork is None: 150 if self.__adblockNetwork is None:
151 self.__adblockNetwork = \ 151 self.__adblockNetwork = \
152 Helpviewer.HelpWindow.HelpWindow.adBlockManager().network() 152 Helpviewer.HelpWindow.HelpWindow.adBlockManager().network()
153 reply = self.__adblockNetwork.block(req) 153 reply = self.__adblockNetwork.block(req)
154 if reply is not None: 154 if reply is not None:
155 reply.setParent(self) 155 reply.setParent(self)
156 return reply 156 return reply
157
158 # set cache policy
159 urlHost = req.url().host()
160 for host in self.NoCacheHosts:
161 if host in urlHost:
162 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
163 QNetworkRequest.AlwaysNetwork)
164 break
165 else:
166 req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
167 Preferences.getHelp("CachePolicy"))
157 168
158 # Do Not Track feature 169 # Do Not Track feature
159 if self.__doNotTrack: 170 if self.__doNotTrack:
160 req.setRawHeader("DNT", "1") 171 req.setRawHeader("DNT", "1")
161 172

eric ide

mercurial