Helpviewer/AdBlock/AdBlockNetwork.py

changeset 1972
5341662d6cfb
parent 1970
02cf3bac079b
child 2302
f29e9405c851
--- a/Helpviewer/AdBlock/AdBlockNetwork.py	Sat Aug 04 13:46:18 2012 +0200
+++ b/Helpviewer/AdBlock/AdBlockNetwork.py	Sat Aug 04 17:32:24 2012 +0200
@@ -7,7 +7,7 @@
 Module implementing the network block class.
 """
 
-from PyQt4.QtCore import QObject
+from PyQt4.QtCore import QObject, QUrl
 from PyQt4.QtNetwork import QNetworkRequest
 
 import Helpviewer.HelpWindow
@@ -29,9 +29,13 @@
         urlString = bytes(url.toEncoded()).decode()
         urlDomain = url.host()
         urlScheme = url.scheme()
+        refererHost = QUrl.fromEncoded(request.rawHeader("Referer")).host()
         
         manager = Helpviewer.HelpWindow.HelpWindow.adBlockManager()
-        if not manager.isEnabled() or not self.canRunOnScheme(urlScheme):
+        if not manager.isEnabled() or \
+           not self.canRunOnScheme(urlScheme) or \
+           manager.isHostExcepted(urlDomain) or \
+           manager.isHostExcepted(refererHost):
             return None
         
         for subscription in manager.subscriptions():
@@ -68,6 +72,8 @@
         @return flag indicating, that the URL can be blocked (boolean)
         """
         manager = Helpviewer.HelpWindow.HelpWindow.adBlockManager()
+        if manager.isHostExcepted(url.host()):
+            return False
         for subscription in manager.subscriptions():
             if subscription.isEnabled() and subscription.adBlockDisabledForUrl(url):
                 return False

eric ide

mercurial