6 """ |
6 """ |
7 Module implementing the AdBlock manager. |
7 Module implementing the AdBlock manager. |
8 """ |
8 """ |
9 |
9 |
10 import os |
10 import os |
|
11 import contextlib |
11 |
12 |
12 from PyQt5.QtCore import ( |
13 from PyQt5.QtCore import ( |
13 pyqtSignal, QObject, QUrl, QUrlQuery, QFile, QByteArray, QMutex |
14 pyqtSignal, QObject, QUrl, QUrlQuery, QFile, QByteArray, QMutex |
14 ) |
15 ) |
15 from PyQt5.QtWebEngineCore import QWebEngineUrlRequestInfo |
16 from PyQt5.QtWebEngineCore import QWebEngineUrlRequestInfo |
301 if subscription.url().toString().startswith( |
302 if subscription.url().toString().startswith( |
302 (self.__defaultSubscriptionUrlString, |
303 (self.__defaultSubscriptionUrlString, |
303 self.__customSubscriptionUrlString)): |
304 self.__customSubscriptionUrlString)): |
304 return |
305 return |
305 |
306 |
306 try: |
307 with contextlib.suppress(ValueError): |
307 self.__subscriptions.remove(subscription) |
308 self.__subscriptions.remove(subscription) |
308 rulesFileName = subscription.rulesFileName() |
309 rulesFileName = subscription.rulesFileName() |
309 QFile.remove(rulesFileName) |
310 QFile.remove(rulesFileName) |
310 requiresSubscriptions = self.getRequiresSubscriptions(subscription) |
311 requiresSubscriptions = self.getRequiresSubscriptions(subscription) |
311 for requiresSubscription in requiresSubscriptions: |
312 for requiresSubscription in requiresSubscriptions: |
312 self.removeSubscription(requiresSubscription, False) |
313 self.removeSubscription(requiresSubscription, False) |
313 if emitSignal: |
314 if emitSignal: |
314 self.rulesChanged.emit() |
315 self.rulesChanged.emit() |
315 except ValueError: |
|
316 pass |
|
317 |
316 |
318 def addSubscriptionFromUrl(self, url): |
317 def addSubscriptionFromUrl(self, url): |
319 """ |
318 """ |
320 Public method to ad an AdBlock subscription given the abp URL. |
319 Public method to ad an AdBlock subscription given the abp URL. |
321 |
320 |