Helpviewer/Network/NetworkAccessManager.py

changeset 2693
85a85d5824ed
parent 2686
b62077dc52c4
child 2694
d87cbab5d596
--- a/Helpviewer/Network/NetworkAccessManager.py	Sat Jun 01 11:31:48 2013 +0200
+++ b/Helpviewer/Network/NetworkAccessManager.py	Sat Jun 01 11:49:18 2013 +0200
@@ -36,6 +36,10 @@
     requestCreated = pyqtSignal(
         QNetworkAccessManager.Operation, QNetworkRequest, QNetworkReply)
     
+    NoCacheHosts = [
+        "qt-project.org",
+    ]
+    
     def __init__(self, engine, parent=None):
         """
         Constructor
@@ -141,10 +145,6 @@
         if not self.__acceptLanguage.isEmpty():
             req.setRawHeader("Accept-Language", self.__acceptLanguage)
         
-        # set cache policy
-        req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
-            Preferences.getHelp("CachePolicy"))
-        
         # AdBlock code
         if op == QNetworkAccessManager.GetOperation:
             if self.__adblockNetwork is None:
@@ -155,6 +155,17 @@
                 reply.setParent(self)
                 return reply
         
+        # set cache policy
+        urlHost = req.url().host()
+        for host in self.NoCacheHosts:
+            if host in urlHost:
+                req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
+                    QNetworkRequest.AlwaysNetwork)
+                break
+        else:
+            req.setAttribute(QNetworkRequest.CacheLoadControlAttribute,
+                Preferences.getHelp("CachePolicy"))
+        
         # Do Not Track feature
         if self.__doNotTrack:
             req.setRawHeader("DNT", "1")

eric ide

mercurial