From 71bc5bb943226ddf3c972601f61c7bdb4ac4a179 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Wed, 14 Sep 2016 11:04:37 +0200 Subject: [PATCH] Move QuteSchemeError to qutescheme --- qutebrowser/browser/qutescheme.py | 18 ++++++++++++++++++ .../browser/webkit/network/webkitqutescheme.py | 7 ++++--- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/qutebrowser/browser/qutescheme.py b/qutebrowser/browser/qutescheme.py index 24ebcc47c..af5618cf5 100644 --- a/qutebrowser/browser/qutescheme.py +++ b/qutebrowser/browser/qutescheme.py @@ -56,6 +56,24 @@ def add_handler(name): """Add a handler to the qute: scheme.""" def namedecorator(function): _HANDLERS[name] = function +class QuteSchemeError(Exception): + + """Exception to signal that a handler should return an ErrorReply. + + Attributes correspond to the arguments in + networkreply.ErrorNetworkReply. + + Attributes: + errorstring: Error string to print. + error: Numerical error value. + """ + + def __init__(self, errorstring, error): + self.errorstring = errorstring + self.error = error + super().__init__(errorstring) + + return function return namedecorator diff --git a/qutebrowser/browser/webkit/network/webkitqutescheme.py b/qutebrowser/browser/webkit/network/webkitqutescheme.py index 4ffe7e988..8e9d635cf 100644 --- a/qutebrowser/browser/webkit/network/webkitqutescheme.py +++ b/qutebrowser/browser/webkit/network/webkitqutescheme.py @@ -76,7 +76,7 @@ class QuteSchemeHandler(schemehandler.SchemeHandler): return networkreply.ErrorNetworkReply( request, str(e), QNetworkReply.ContentNotFoundError, self.parent()) - except QuteSchemeError as e: + except qutescheme.QuteSchemeError as e: return networkreply.ErrorNetworkReply(request, e.errorstring, e.error, self.parent()) @@ -123,5 +123,6 @@ def qute_pdfjs(url): # information, as the failed pdfjs requests are still in the log. log.misc.warning( "pdfjs resource requested but not found: {}".format(e.path)) - raise QuteSchemeError("Can't find pdfjs resource '{}'".format(e.path), - QNetworkReply.ContentNotFoundError) + raise qutescheme.QuteSchemeError("Can't find pdfjs resource " + "'{}'".format(e.path), + QNetworkReply.ContentNotFoundError)