diff options
author | Árni Dagur <arnidg@protonmail.ch> | 2020-11-03 00:03:22 +0000 |
---|---|---|
committer | Árni Dagur <arni@dagur.eu> | 2020-12-19 20:29:51 +0000 |
commit | 0a9da570085b198fbcba6238a54c49757a8a962e (patch) | |
tree | 9a55edadaf7efd7fb02bfd4673fe68c71c80e8d1 /qutebrowser/components | |
parent | 1a2912ca247d362a6db45bb60babff3e010b3df0 (diff) | |
download | qutebrowser-0a9da570085b198fbcba6238a54c49757a8a962e.tar.gz qutebrowser-0a9da570085b198fbcba6238a54c49757a8a962e.zip |
Check if adblock dependency is outdated
Diffstat (limited to 'qutebrowser/components')
-rw-r--r-- | qutebrowser/components/braveadblock.py | 28 |
1 files changed, 21 insertions, 7 deletions
diff --git a/qutebrowser/components/braveadblock.py b/qutebrowser/components/braveadblock.py index ec0b70e1c..04a492417 100644 --- a/qutebrowser/components/braveadblock.py +++ b/qutebrowser/components/braveadblock.py @@ -37,9 +37,16 @@ from qutebrowser.api import ( ) from qutebrowser.api.interceptor import ResourceType from qutebrowser.components.utils import blockutils +from qutebrowser.utils import version +_outdated_version: typing.Optional[str] = None try: import adblock + + adblock_info = version.MODULE_INFO["adblock"] + if adblock_info.is_outdated(): + adblock = None # type: ignore[assignment] + _outdated_version = adblock_info.get_version() except ImportError: adblock = None # type: ignore[assignment] @@ -65,11 +72,18 @@ def _possibly_show_missing_dependency_warning() -> None: error message. """ method = config.val.content.blocking.method - if method in ("adblock", "both"): - message.warning( - "Ad blocking method is set to '{}' but 'adblock' dependency is" - " not installed.".format(method) - ) + if method in ("both", "adblock"): + if _outdated_version is not None: + message.warning( + f"Installed version {_outdated_version} of the" + " 'adblock' dependency is too old. Minimum supported is" + f" {adblock_info.min_version}." + ) + else: + message.warning( + f"Ad blocking method is set to '{method}' but 'adblock' dependency" + " is not installed." + ) _RESOURCE_TYPE_STRINGS = { @@ -220,7 +234,7 @@ class BraveAdBlocker: self._engine = adblock.Engine(filter_set) self._engine.serialize_to_file(str(self._cache_path)) logger.info( - "braveadblock: Filters successfully read from {} sources".format(done_count) + "braveadblock: Filters successfully read from %s sources", done_count ) def update_files(self) -> None: @@ -231,7 +245,7 @@ class BraveAdBlocker: except FileNotFoundError: pass except OSError as e: - logger.exception("Failed to remove adblock cache file: {}".format(e)) + logger.exception("Failed to remove adblock cache file: %s", e) def _on_download_finished( self, fileobj: typing.IO[bytes], filter_set: "adblock.FilterSet" |