Added code to blacklist hosts from caching.

Sat, 01 Jun 2013 11:49:18 +0200

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Sat, 01 Jun 2013 11:49:18 +0200
changeset 2693
85a85d5824ed
parent 2690
8ca13f15e1f2
child 2694
d87cbab5d596

Added code to blacklist hosts from caching.
(grafted from 6433ec640d100aa31071dd974c2d1c9b760728e1)

Helpviewer/Network/NetworkAccessManager.py file | annotate | diff | comparison | revisions
--- 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