From 98543af57b23d57f11918c51b0c1d1c863a223b3 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Mon, 10 Dec 2018 17:35:53 +0100 Subject: [PATCH] Rename requests/request filters to interceptors So we don't collide with the requests library. --- .../api/{requests.py => interceptor.py} | 12 ++++++------ qutebrowser/browser/webengine/interceptor.py | 8 ++++---- qutebrowser/browser/webkit/mhtml.py | 6 +++--- .../browser/webkit/network/networkmanager.py | 8 ++++---- qutebrowser/components/adblock.py | 6 +++--- .../{requests.py => interceptors.py} | 18 +++++++++--------- 6 files changed, 29 insertions(+), 29 deletions(-) rename qutebrowser/api/{requests.py => interceptor.py} (72%) rename qutebrowser/extensions/{requests.py => interceptors.py} (74%) diff --git a/qutebrowser/api/requests.py b/qutebrowser/api/interceptor.py similarity index 72% rename from qutebrowser/api/requests.py rename to qutebrowser/api/interceptor.py index 5c23418b4..afd23d067 100644 --- a/qutebrowser/api/requests.py +++ b/qutebrowser/api/interceptor.py @@ -19,14 +19,14 @@ """APIs related to intercepting/blocking requests.""" -from qutebrowser.extensions import requests +from qutebrowser.extensions import interceptors # pylint: disable=unused-import -from qutebrowser.extensions.requests import Request +from qutebrowser.extensions.interceptors import Request -def register_filter(reqfilter: requests.RequestFilterType) -> None: - """Register a request filter. +def register(interceptor: interceptors.InterceptorType) -> None: + """Register a request interceptor. - Whenever a request happens, the filter gets called with a Request object. + Whenever a request happens, the interceptor gets called with a Request object. """ - requests.register_filter(reqfilter) + interceptors.register(interceptor) diff --git a/qutebrowser/browser/webengine/interceptor.py b/qutebrowser/browser/webengine/interceptor.py index 863234dc6..a5b7721b8 100644 --- a/qutebrowser/browser/webengine/interceptor.py +++ b/qutebrowser/browser/webengine/interceptor.py @@ -26,7 +26,7 @@ from PyQt5.QtWebEngineCore import (QWebEngineUrlRequestInterceptor, from qutebrowser.config import config from qutebrowser.browser import shared from qutebrowser.utils import utils, log, debug -from qutebrowser.extensions import requests +from qutebrowser.extensions import interceptors class RequestInterceptor(QWebEngineUrlRequestInterceptor): @@ -84,9 +84,9 @@ class RequestInterceptor(QWebEngineUrlRequestInterceptor): return # FIXME:qtwebengine only block ads for NavigationTypeOther? - request = requests.Request(first_party_url=first_party, - request_url=url) - requests.run_filters(request) + request = interceptors.Request(first_party_url=first_party, + request_url=url) + interceptors.run(request) if request.is_blocked: info.block(True) diff --git a/qutebrowser/browser/webkit/mhtml.py b/qutebrowser/browser/webkit/mhtml.py index c390ab6b3..70a22351f 100644 --- a/qutebrowser/browser/webkit/mhtml.py +++ b/qutebrowser/browser/webkit/mhtml.py @@ -39,7 +39,7 @@ from PyQt5.QtCore import QUrl from qutebrowser.browser import downloads from qutebrowser.browser.webkit import webkitelem from qutebrowser.utils import log, objreg, message, usertypes, utils, urlutils -from qutebrowser.extensions import requests +from qutebrowser.extensions import interceptors @attr.s @@ -355,8 +355,8 @@ class _Downloader: # qute, see the comments/discussion on # https://github.com/qutebrowser/qutebrowser/pull/962#discussion_r40256987 # and https://github.com/qutebrowser/qutebrowser/issues/1053 - request = requests.Request(first_party_url=None, request_url=url) - requests.run_filters(request) + request = interceptors.Request(first_party_url=None, request_url=url) + interceptors.run(request) if request.is_blocked: log.downloads.debug("Skipping {}, host-blocked".format(url)) # We still need an empty file in the output, QWebView can be pretty diff --git a/qutebrowser/browser/webkit/network/networkmanager.py b/qutebrowser/browser/webkit/network/networkmanager.py index 9562ba918..dd3643c87 100644 --- a/qutebrowser/browser/webkit/network/networkmanager.py +++ b/qutebrowser/browser/webkit/network/networkmanager.py @@ -38,7 +38,7 @@ if MYPY: from qutebrowser.utils import (message, log, usertypes, utils, objreg, urlutils, debug) from qutebrowser.browser import shared -from qutebrowser.extensions import requests +from qutebrowser.extensions import interceptors from qutebrowser.browser.webkit import certificateerror from qutebrowser.browser.webkit.network import (webkitqutescheme, networkreply, filescheme) @@ -406,9 +406,9 @@ class NetworkManager(QNetworkAccessManager): # the webpage shutdown here. current_url = QUrl() - request = requests.Request(first_party_url=current_url, - request_url=req.url()) - requests.run_filters(request) + request = interceptors.Request(first_party_url=current_url, + request_url=req.url()) + interceptors.run(request) if request.is_blocked: return networkreply.ErrorNetworkReply( req, HOSTBLOCK_ERROR_STRING, QNetworkReply.ContentAccessDenied, diff --git a/qutebrowser/components/adblock.py b/qutebrowser/components/adblock.py index d279f1c03..bccb53532 100644 --- a/qutebrowser/components/adblock.py +++ b/qutebrowser/components/adblock.py @@ -31,7 +31,7 @@ import pathlib from PyQt5.QtCore import QUrl from qutebrowser.api import (cmdutils, hook, config, message, downloads, - requests, apitypes) + interceptor, apitypes) logger = logging.getLogger('misc') @@ -123,7 +123,7 @@ class HostBlocker: host in self._config_blocked_hosts) and not _is_whitelisted_url(request_url)) - def filter_request(self, info: requests.Request) -> None: + def filter_request(self, info: interceptor.Request) -> None: """Block the given request if necessary.""" if self._is_blocked(request_url=info.request_url, first_party_url=info.first_party_url): @@ -344,4 +344,4 @@ def init(context: apitypes.InitContext) -> None: config_dir=context.config_dir, has_basedir=context.args.basedir is not None) _host_blocker.read_hosts() - requests.register_filter(_host_blocker.filter_request) + interceptor.register(_host_blocker.filter_request) diff --git a/qutebrowser/extensions/requests.py b/qutebrowser/extensions/interceptors.py similarity index 74% rename from qutebrowser/extensions/requests.py rename to qutebrowser/extensions/interceptors.py index 952c830dc..4a3ac17d4 100644 --- a/qutebrowser/extensions/requests.py +++ b/qutebrowser/extensions/interceptors.py @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with qutebrowser. If not, see . -"""Infrastructure for filtering requests.""" +"""Infrastructure for intercepting requests.""" import typing @@ -32,7 +32,7 @@ if MYPY: @attr.s class Request: - """A request which can be blocked.""" + """A request which can be intercepted/blocked.""" first_party_url = attr.ib() # type: QUrl request_url = attr.ib() # type: QUrl @@ -43,16 +43,16 @@ class Request: self.is_blocked = True -RequestFilterType = typing.Callable[[Request], None] +InterceptorType = typing.Callable[[Request], None] -_request_filters = [] # type: typing.List[RequestFilterType] +_interceptors = [] # type: typing.List[InterceptorType] -def register_filter(reqfilter: RequestFilterType) -> None: - _request_filters.append(reqfilter) +def register(interceptor: InterceptorType) -> None: + _interceptors.append(interceptor) -def run_filters(info: Request) -> None: - for reqfilter in _request_filters: - reqfilter(info) +def run(info: Request) -> None: + for interceptor in _interceptors: + interceptor(info)