Helpviewer/AdBlock/AdBlockNetwork.py

changeset 1970
02cf3bac079b
parent 1960
d8c45fe8a1b9
child 1972
5341662d6cfb
equal deleted inserted replaced
1969:5522b3266c8b 1970:02cf3bac079b
28 url = request.url() 28 url = request.url()
29 urlString = bytes(url.toEncoded()).decode() 29 urlString = bytes(url.toEncoded()).decode()
30 urlDomain = url.host() 30 urlDomain = url.host()
31 urlScheme = url.scheme() 31 urlScheme = url.scheme()
32 32
33 manager = Helpviewer.HelpWindow.HelpWindow.adblockManager() 33 manager = Helpviewer.HelpWindow.HelpWindow.adBlockManager()
34 if not manager.isEnabled() or not self.canRunOnScheme(urlScheme): 34 if not manager.isEnabled() or not self.canRunOnScheme(urlScheme):
35 return None 35 return None
36 36
37 for subscription in manager.subscriptions(): 37 for subscription in manager.subscriptions():
38 blockedRule = subscription.match(request, urlDomain, urlString) 38 if subscription.isEnabled():
39 if blockedRule: 39 blockedRule = subscription.match(request, urlDomain, urlString)
40 webPage = request.attribute(QNetworkRequest.User + 100) 40 if blockedRule:
41 if webPage is not None: 41 webPage = request.attribute(QNetworkRequest.User + 100)
42 if not self.__canBeBlocked(webPage.url()): 42 if webPage is not None:
43 return None 43 if not self.__canBeBlocked(webPage.url()):
44 return None
45
46 webPage.addAdBlockRule(blockedRule, url)
44 47
45 webPage.addAdBlockRule(blockedRule, url) 48 reply = AdBlockBlockedNetworkReply(
46 49 request, subscription, blockedRule, self)
47 reply = AdBlockBlockedNetworkReply(request, subscription, blockedRule, self) 50 return reply
48 return reply
49 51
50 return None 52 return None
51 53
52 def canRunOnScheme(self, scheme): 54 def canRunOnScheme(self, scheme):
53 """ 55 """
63 Private method to check, if an URL can be blocked. 65 Private method to check, if an URL can be blocked.
64 66
65 @param url URL to be checked (QUrl) 67 @param url URL to be checked (QUrl)
66 @return flag indicating, that the URL can be blocked (boolean) 68 @return flag indicating, that the URL can be blocked (boolean)
67 """ 69 """
68 manager = Helpviewer.HelpWindow.HelpWindow.adblockManager() 70 manager = Helpviewer.HelpWindow.HelpWindow.adBlockManager()
69 for subscription in manager.subscriptions(): 71 for subscription in manager.subscriptions():
70 if subscription.adBlockDisabledForUrl(url): 72 if subscription.isEnabled() and subscription.adBlockDisabledForUrl(url):
71 return False 73 return False
72 74
73 return True 75 return True

eric ide

mercurial