summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--qutebrowser/api/config.py5
-rw-r--r--qutebrowser/api/downloads.py3
-rw-r--r--qutebrowser/app.py66
-rw-r--r--qutebrowser/browser/browsertab.py42
-rw-r--r--qutebrowser/browser/commands.py32
-rw-r--r--qutebrowser/browser/downloads.py25
-rw-r--r--qutebrowser/browser/downloadview.py3
-rw-r--r--qutebrowser/browser/eventfilter.py4
-rw-r--r--qutebrowser/browser/greasemonkey.py25
-rw-r--r--qutebrowser/browser/hints.py34
-rw-r--r--qutebrowser/browser/history.py13
-rw-r--r--qutebrowser/browser/inspector.py9
-rw-r--r--qutebrowser/browser/navigate.py7
-rw-r--r--qutebrowser/browser/network/pac.py6
-rw-r--r--qutebrowser/browser/network/proxy.py7
-rw-r--r--qutebrowser/browser/pdfjs.py3
-rw-r--r--qutebrowser/browser/qtnetworkdownloads.py15
-rw-r--r--qutebrowser/browser/qutescheme.py24
-rw-r--r--qutebrowser/browser/shared.py20
-rw-r--r--qutebrowser/browser/signalfilter.py1
-rw-r--r--qutebrowser/browser/urlmarks.py17
-rw-r--r--qutebrowser/browser/webelem.py7
-rw-r--r--qutebrowser/browser/webengine/certificateerror.py5
-rw-r--r--qutebrowser/browser/webengine/interceptor.py14
-rw-r--r--qutebrowser/browser/webengine/notification.py22
-rw-r--r--qutebrowser/browser/webengine/tabhistory.py3
-rw-r--r--qutebrowser/browser/webengine/webenginedownloads.py19
-rw-r--r--qutebrowser/browser/webengine/webengineelem.py17
-rw-r--r--qutebrowser/browser/webengine/webengineinspector.py7
-rw-r--r--qutebrowser/browser/webengine/webenginequtescheme.py2
-rw-r--r--qutebrowser/browser/webengine/webenginesettings.py57
-rw-r--r--qutebrowser/browser/webengine/webenginetab.py51
-rw-r--r--qutebrowser/browser/webengine/webview.py18
-rw-r--r--qutebrowser/browser/webkit/cache.py8
-rw-r--r--qutebrowser/browser/webkit/certificateerror.py3
-rw-r--r--qutebrowser/browser/webkit/cookies.py5
-rw-r--r--qutebrowser/browser/webkit/http.py5
-rw-r--r--qutebrowser/browser/webkit/mhtml.py23
-rw-r--r--qutebrowser/browser/webkit/network/networkmanager.py18
-rw-r--r--qutebrowser/browser/webkit/network/networkreply.py2
-rw-r--r--qutebrowser/browser/webkit/network/webkitqutescheme.py3
-rw-r--r--qutebrowser/browser/webkit/tabhistory.py2
-rw-r--r--qutebrowser/browser/webkit/webkitelem.py9
-rw-r--r--qutebrowser/browser/webkit/webkithistory.py3
-rw-r--r--qutebrowser/browser/webkit/webkitinspector.py3
-rw-r--r--qutebrowser/browser/webkit/webkitsettings.py8
-rw-r--r--qutebrowser/browser/webkit/webkittab.py26
-rw-r--r--qutebrowser/browser/webkit/webpage.py19
-rw-r--r--qutebrowser/browser/webkit/webview.py8
-rw-r--r--qutebrowser/commands/argparser.py6
-rw-r--r--qutebrowser/commands/runners.py6
-rw-r--r--qutebrowser/commands/userscripts.py6
-rw-r--r--qutebrowser/completion/completer.py6
-rw-r--r--qutebrowser/completion/completiondelegate.py4
-rw-r--r--qutebrowser/completion/completionwidget.py8
-rw-r--r--qutebrowser/completion/models/completionmodel.py2
-rw-r--r--qutebrowser/completion/models/filepathcategory.py4
-rw-r--r--qutebrowser/completion/models/histcategory.py9
-rw-r--r--qutebrowser/completion/models/listcategory.py5
-rw-r--r--qutebrowser/completion/models/urlmodel.py14
-rw-r--r--qutebrowser/components/braveadblock.py18
-rw-r--r--qutebrowser/components/hostblock.py21
-rw-r--r--qutebrowser/components/misccommands.py10
-rw-r--r--qutebrowser/config/config.py22
-rw-r--r--qutebrowser/config/configcommands.py13
-rw-r--r--qutebrowser/config/configfiles.py32
-rw-r--r--qutebrowser/config/configinit.py20
-rw-r--r--qutebrowser/config/configtypes.py37
-rw-r--r--qutebrowser/config/configutils.py18
-rw-r--r--qutebrowser/config/qtargs.py7
-rw-r--r--qutebrowser/config/stylesheet.py4
-rw-r--r--qutebrowser/config/websettings.py11
-rw-r--r--qutebrowser/extensions/loader.py14
-rw-r--r--qutebrowser/keyinput/basekeyparser.py6
-rw-r--r--qutebrowser/keyinput/eventfilter.py4
-rw-r--r--qutebrowser/keyinput/keyutils.py7
-rw-r--r--qutebrowser/keyinput/modeman.py15
-rw-r--r--qutebrowser/keyinput/modeparsers.py6
-rw-r--r--qutebrowser/mainwindow/mainwindow.py30
-rw-r--r--qutebrowser/mainwindow/messageview.py2
-rw-r--r--qutebrowser/mainwindow/prompt.py16
-rw-r--r--qutebrowser/mainwindow/statusbar/bar.py19
-rw-r--r--qutebrowser/mainwindow/statusbar/command.py10
-rw-r--r--qutebrowser/mainwindow/statusbar/keystring.py3
-rw-r--r--qutebrowser/mainwindow/statusbar/percentage.py2
-rw-r--r--qutebrowser/mainwindow/statusbar/progress.py4
-rw-r--r--qutebrowser/mainwindow/statusbar/tabindex.py3
-rw-r--r--qutebrowser/mainwindow/statusbar/textbase.py3
-rw-r--r--qutebrowser/mainwindow/statusbar/url.py4
-rw-r--r--qutebrowser/mainwindow/tabbedbrowser.py35
-rw-r--r--qutebrowser/mainwindow/tabwidget.py10
-rw-r--r--qutebrowser/misc/backendproblem.py30
-rw-r--r--qutebrowser/misc/cmdhistory.py2
-rw-r--r--qutebrowser/misc/consolewidget.py8
-rw-r--r--qutebrowser/misc/crashdialog.py28
-rw-r--r--qutebrowser/misc/crashsignal.py22
-rw-r--r--qutebrowser/misc/earlyinit.py11
-rw-r--r--qutebrowser/misc/editor.py2
-rw-r--r--qutebrowser/misc/elf.py9
-rw-r--r--qutebrowser/misc/guiprocess.py7
-rw-r--r--qutebrowser/misc/httpclient.py2
-rw-r--r--qutebrowser/misc/ipc.py13
-rw-r--r--qutebrowser/misc/keyhintwidget.py8
-rw-r--r--qutebrowser/misc/lineparser.py4
-rw-r--r--qutebrowser/misc/miscwidgets.py8
-rw-r--r--qutebrowser/misc/msgbox.py3
-rw-r--r--qutebrowser/misc/objects.py2
-rw-r--r--qutebrowser/misc/quitter.py20
-rw-r--r--qutebrowser/misc/savemanager.py6
-rw-r--r--qutebrowser/misc/sessions.py24
-rw-r--r--qutebrowser/misc/sql.py2
-rw-r--r--qutebrowser/misc/throttle.py1
-rw-r--r--qutebrowser/misc/utilcmds.py16
-rw-r--r--qutebrowser/qt.py29
-rw-r--r--qutebrowser/utils/debug.py19
-rw-r--r--qutebrowser/utils/error.py1
-rw-r--r--qutebrowser/utils/jinja.py11
-rw-r--r--qutebrowser/utils/log.py32
-rw-r--r--qutebrowser/utils/message.py4
-rw-r--r--qutebrowser/utils/objreg.py17
-rw-r--r--qutebrowser/utils/qtutils.py22
-rw-r--r--qutebrowser/utils/standarddir.py11
-rw-r--r--qutebrowser/utils/urlmatch.py5
-rw-r--r--qutebrowser/utils/urlutils.py16
-rw-r--r--qutebrowser/utils/usertypes.py7
-rw-r--r--qutebrowser/utils/utils.py48
-rw-r--r--qutebrowser/utils/version.py37
-rw-r--r--tests/end2end/conftest.py16
-rw-r--r--tests/end2end/features/test_downloads_bdd.py4
-rw-r--r--tests/end2end/features/test_editor_bdd.py7
-rw-r--r--tests/end2end/fixtures/notificationserver.py4
-rw-r--r--tests/end2end/fixtures/quteprocess.py25
-rw-r--r--tests/end2end/fixtures/test_testprocess.py6
-rw-r--r--tests/end2end/fixtures/testprocess.py5
-rw-r--r--tests/end2end/test_dirbrowser.py8
-rw-r--r--tests/end2end/test_invocations.py11
-rw-r--r--tests/helpers/fixtures.py33
-rw-r--r--tests/helpers/messagemock.py4
-rw-r--r--tests/helpers/stubs.py13
-rw-r--r--tests/helpers/testutils.py19
-rw-r--r--tests/unit/browser/test_caret.py4
-rw-r--r--tests/unit/browser/test_downloadview.py3
-rw-r--r--tests/unit/browser/test_hints.py6
-rw-r--r--tests/unit/browser/test_history.py6
-rw-r--r--tests/unit/browser/test_inspector.py3
-rw-r--r--tests/unit/browser/test_navigate.py3
-rw-r--r--tests/unit/browser/test_pdfjs.py3
-rw-r--r--tests/unit/browser/test_qutescheme.py6
-rw-r--r--tests/unit/browser/test_urlmarks.py2
-rw-r--r--tests/unit/browser/webengine/test_webengine_cookies.py2
-rw-r--r--tests/unit/browser/webengine/test_webenginedownloads.py4
-rw-r--r--tests/unit/browser/webengine/test_webengineinterceptor.py2
-rw-r--r--tests/unit/browser/webengine/test_webenginetab.py3
-rw-r--r--tests/unit/browser/webkit/http/test_http.py4
-rw-r--r--tests/unit/browser/webkit/network/test_filescheme.py8
-rw-r--r--tests/unit/browser/webkit/network/test_networkreply.py2
-rw-r--r--tests/unit/browser/webkit/network/test_pac.py7
-rw-r--r--tests/unit/browser/webkit/test_cache.py2
-rw-r--r--tests/unit/browser/webkit/test_certificateerror.py2
-rw-r--r--tests/unit/browser/webkit/test_cookies.py5
-rw-r--r--tests/unit/browser/webkit/test_tabhistory.py5
-rw-r--r--tests/unit/browser/webkit/test_webkitelem.py10
-rw-r--r--tests/unit/commands/test_argparser.py4
-rw-r--r--tests/unit/commands/test_userscripts.py8
-rw-r--r--tests/unit/completion/test_completer.py6
-rw-r--r--tests/unit/completion/test_completiondelegate.py2
-rw-r--r--tests/unit/completion/test_completionmodel.py8
-rw-r--r--tests/unit/completion/test_completionwidget.py4
-rw-r--r--tests/unit/completion/test_models.py15
-rw-r--r--tests/unit/components/test_blockutils.py3
-rw-r--r--tests/unit/components/test_braveadblock.py9
-rw-r--r--tests/unit/components/test_hostblock.py8
-rw-r--r--tests/unit/components/test_readlinecommands.py4
-rw-r--r--tests/unit/config/test_config.py8
-rw-r--r--tests/unit/config/test_configcommands.py8
-rw-r--r--tests/unit/config/test_configfiles.py11
-rw-r--r--tests/unit/config/test_configtypes.py20
-rw-r--r--tests/unit/config/test_configutils.py8
-rw-r--r--tests/unit/config/test_qtargs_locale_workaround.py7
-rw-r--r--tests/unit/config/test_stylesheet.py3
-rw-r--r--tests/unit/javascript/conftest.py6
-rw-r--r--tests/unit/javascript/stylesheet/test_stylesheet_js.py3
-rw-r--r--tests/unit/javascript/test_greasemonkey.py6
-rw-r--r--tests/unit/javascript/test_js_execution.py3
-rw-r--r--tests/unit/keyinput/test_basekeyparser.py4
-rw-r--r--tests/unit/keyinput/test_bindingtrie.py6
-rw-r--r--tests/unit/keyinput/test_keyutils.py7
-rw-r--r--tests/unit/keyinput/test_modeman.py2
-rw-r--r--tests/unit/keyinput/test_modeparsers.py5
-rw-r--r--tests/unit/mainwindow/statusbar/test_textbase.py2
-rw-r--r--tests/unit/mainwindow/statusbar/test_url.py5
-rw-r--r--tests/unit/mainwindow/test_messageview.py2
-rw-r--r--tests/unit/mainwindow/test_prompt.py2
-rw-r--r--tests/unit/mainwindow/test_tabwidget.py2
-rw-r--r--tests/unit/misc/test_autoupdate.py2
-rw-r--r--tests/unit/misc/test_editor.py8
-rw-r--r--tests/unit/misc/test_elf.py4
-rw-r--r--tests/unit/misc/test_guiprocess.py6
-rw-r--r--tests/unit/misc/test_ipc.py18
-rw-r--r--tests/unit/misc/test_miscwidgets.py6
-rw-r--r--tests/unit/misc/test_msgbox.py3
-rw-r--r--tests/unit/misc/test_pastebin.py2
-rw-r--r--tests/unit/misc/test_sessions.py5
-rw-r--r--tests/unit/misc/test_sql.py4
-rw-r--r--tests/unit/misc/test_throttle.py5
-rw-r--r--tests/unit/misc/test_utilcmds.py4
-rw-r--r--tests/unit/test_app.py5
-rw-r--r--tests/unit/utils/test_debug.py8
-rw-r--r--tests/unit/utils/test_error.py4
-rw-r--r--tests/unit/utils/test_jinja.py6
-rw-r--r--tests/unit/utils/test_log.py10
-rw-r--r--tests/unit/utils/test_qtutils.py10
-rw-r--r--tests/unit/utils/test_standarddir.py13
-rw-r--r--tests/unit/utils/test_urlmatch.py4
-rw-r--r--tests/unit/utils/test_urlutils.py10
-rw-r--r--tests/unit/utils/test_utils.py20
-rw-r--r--tests/unit/utils/test_version.py22
-rw-r--r--tests/unit/utils/usertypes/test_timer.py2
218 files changed, 1252 insertions, 1058 deletions
diff --git a/qutebrowser/api/config.py b/qutebrowser/api/config.py
index cfb726840..5bbc5c95f 100644
--- a/qutebrowser/api/config.py
+++ b/qutebrowser/api/config.py
@@ -19,11 +19,10 @@
"""Access to the qutebrowser configuration."""
-from typing import cast, Any
-
-from qutebrowser.qt import QtCore
+from typing import Any, cast
from qutebrowser.config import config
+from qutebrowser.qt import QtCore
#: Simplified access to config values using attribute access.
#: For example, to access the ``content.javascript.enabled`` setting,
diff --git a/qutebrowser/api/downloads.py b/qutebrowser/api/downloads.py
index 54902b711..e621303c4 100644
--- a/qutebrowser/api/downloads.py
+++ b/qutebrowser/api/downloads.py
@@ -24,9 +24,8 @@
import io
from qutebrowser.browser import downloads, qtnetworkdownloads
-from qutebrowser.utils import objreg
from qutebrowser.qt import QtCore
-
+from qutebrowser.utils import objreg
UnsupportedAttribute = downloads.UnsupportedAttribute
diff --git a/qutebrowser/app.py b/qutebrowser/app.py
index cf76a04e8..952cc70d6 100644
--- a/qutebrowser/app.py
+++ b/qutebrowser/app.py
@@ -37,39 +37,65 @@ After all initialization is done, the qt_mainloop() function is called, which
blocks and spins the Qt mainloop.
"""
+import argparse
+import datetime
+import functools
import os
+import pathlib
import sys
-import functools
import tempfile
-import pathlib
-import datetime
-import argparse
from typing import Iterable, Optional
import qutebrowser
-from qutebrowser.commands import runners
-from qutebrowser.config import (config, websettings, configfiles, configinit,
- qtargs)
-from qutebrowser.browser import (urlmarks, history, browsertab,
- qtnetworkdownloads, downloads, greasemonkey)
+from qutebrowser.browser import (
+ browsertab,
+ commands,
+ downloads,
+ greasemonkey,
+ history,
+ qtnetworkdownloads,
+ urlmarks,
+)
from qutebrowser.browser.network import proxy
-from qutebrowser.browser.webkit import cookies, cache
+from qutebrowser.browser.webkit import cache, cookies
from qutebrowser.browser.webkit.network import networkmanager
+from qutebrowser.commands import runners
+from qutebrowser.config import config, configfiles, configinit, qtargs, websettings
from qutebrowser.extensions import loader
-from qutebrowser.keyinput import macros, eventfilter
+from qutebrowser.keyinput import eventfilter, macros
from qutebrowser.mainwindow import mainwindow, prompt, windowundo
-from qutebrowser.misc import (ipc, savemanager, sessions, crashsignal,
- earlyinit, sql, cmdhistory, backendproblem,
- objects, quitter)
-from qutebrowser.utils import (log, version, message, utils, urlutils, objreg,
- resources, usertypes, standarddir,
- error, qtutils, debug)
+
# pylint: disable=unused-import
# We import those to run the cmdutils.register decorators.
from qutebrowser.mainwindow.statusbar import command
-from qutebrowser.misc import utilcmds
-from qutebrowser.browser import commands
-from qutebrowser.qt import QtWidgets, QtGui, QtCore
+from qutebrowser.misc import (
+ backendproblem,
+ cmdhistory,
+ crashsignal,
+ earlyinit,
+ ipc,
+ objects,
+ quitter,
+ savemanager,
+ sessions,
+ sql,
+ utilcmds,
+)
+from qutebrowser.qt import QtCore, QtGui, QtWidgets
+from qutebrowser.utils import (
+ debug,
+ error,
+ log,
+ message,
+ objreg,
+ qtutils,
+ resources,
+ standarddir,
+ urlutils,
+ usertypes,
+ utils,
+ version,
+)
# pylint: enable=unused-import
diff --git a/qutebrowser/browser/browsertab.py b/qutebrowser/browser/browsertab.py
index dc6b9e454..32a0521f8 100644
--- a/qutebrowser/browser/browsertab.py
+++ b/qutebrowser/browser/browsertab.py
@@ -19,24 +19,44 @@
"""Base class for a wrapper over QWebView/QWebEngineView."""
+import dataclasses
import enum
-import itertools
import functools
-import dataclasses
-from typing import (cast, TYPE_CHECKING, Any, Callable, Iterable, List, Optional,
- Sequence, Set, Type, Union)
-from qutebrowser.qt import QtWidgets, QtPrintSupport, QtNetwork
+import itertools
+from typing import (
+ TYPE_CHECKING,
+ Any,
+ Callable,
+ Iterable,
+ List,
+ Optional,
+ Sequence,
+ Set,
+ Type,
+ Union,
+ cast,
+)
+
+from qutebrowser.qt import QtNetwork, QtPrintSupport, QtWidgets
if TYPE_CHECKING:
from qutebrowser.qt import QtWebKit, QtWebKitWidgets, QtWebEngineWidgets
-from qutebrowser.keyinput import modeman
+from qutebrowser.browser import eventfilter, inspector
from qutebrowser.config import config
-from qutebrowser.utils import (utils, objreg, usertypes, log, qtutils,
- urlutils, message, jinja)
+from qutebrowser.keyinput import modeman
from qutebrowser.misc import miscwidgets, objects, sessions
-from qutebrowser.browser import eventfilter, inspector
-from qutebrowser.qt import QtGui, QtCore, sip
+from qutebrowser.qt import QtCore, QtGui, sip
+from qutebrowser.utils import (
+ jinja,
+ log,
+ message,
+ objreg,
+ qtutils,
+ urlutils,
+ usertypes,
+ utils,
+)
if TYPE_CHECKING:
from qutebrowser.browser import webelem
@@ -200,8 +220,8 @@ class AbstractAction:
"""Show source as soon as it's ready."""
try:
import pygments
- import pygments.lexers
import pygments.formatters
+ import pygments.lexers
except ImportError:
# Pygments is an optional dependency
self._show_source_fallback(source)
diff --git a/qutebrowser/browser/commands.py b/qutebrowser/browser/commands.py
index c52f3923c..0b8e95884 100644
--- a/qutebrowser/browser/commands.py
+++ b/qutebrowser/browser/commands.py
@@ -19,24 +19,32 @@
"""Command dispatcher for TabbedBrowser."""
+import functools
import os.path
import shlex
-import functools
-from typing import cast, Callable, Dict, Union
+from typing import Callable, Dict, Union, cast
-from qutebrowser.commands import userscripts, runners
from qutebrowser.api import cmdutils
+from qutebrowser.browser import browsertab, downloads, navigate, urlmarks, webelem
+from qutebrowser.commands import runners, userscripts
+from qutebrowser.completion.models import miscmodels, urlmodel
from qutebrowser.config import config, configdata
-from qutebrowser.browser import (urlmarks, browsertab, navigate, webelem,
- downloads)
-from qutebrowser.keyinput import modeman, keyutils
-from qutebrowser.utils import (message, usertypes, log, qtutils, urlutils,
- objreg, utils, standarddir, debug)
-from qutebrowser.utils.usertypes import KeyMode
-from qutebrowser.misc import editor, guiprocess, objects
-from qutebrowser.completion.models import urlmodel, miscmodels
+from qutebrowser.keyinput import keyutils, modeman
from qutebrowser.mainwindow import mainwindow, windowundo
-from qutebrowser.qt import QtWidgets, QtCore
+from qutebrowser.misc import editor, guiprocess, objects
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import (
+ debug,
+ log,
+ message,
+ objreg,
+ qtutils,
+ standarddir,
+ urlutils,
+ usertypes,
+ utils,
+)
+from qutebrowser.utils.usertypes import KeyMode
class CommandDispatcher:
diff --git a/qutebrowser/browser/downloads.py b/qutebrowser/browser/downloads.py
index f78d63af5..d6f178315 100644
--- a/qutebrowser/browser/downloads.py
+++ b/qutebrowser/browser/downloads.py
@@ -19,23 +19,30 @@
"""Shared QtWebKit/QtWebEngine code for downloads."""
-import re
-import sys
-import html
-import os.path
import collections
+import enum
import functools
+import html
+import os.path
import pathlib
+import re
+import sys
import tempfile
-import enum
-from typing import Any, Dict, IO, List, MutableSequence, Optional, Union
+from typing import IO, Any, Dict, List, MutableSequence, Optional, Union
-from qutebrowser.browser import pdfjs
from qutebrowser.api import cmdutils
+from qutebrowser.browser import pdfjs
from qutebrowser.config import config
-from qutebrowser.utils import (usertypes, standarddir, utils, message, log,
- qtutils, objreg)
from qutebrowser.qt import QtCore, sip
+from qutebrowser.utils import (
+ log,
+ message,
+ objreg,
+ qtutils,
+ standarddir,
+ usertypes,
+ utils,
+)
class ModelRole(enum.IntEnum):
diff --git a/qutebrowser/browser/downloadview.py b/qutebrowser/browser/downloadview.py
index ec188deb3..69fab6aed 100644
--- a/qutebrowser/browser/downloadview.py
+++ b/qutebrowser/browser/downloadview.py
@@ -24,9 +24,8 @@ from typing import Callable, MutableSequence, Tuple, Union
from qutebrowser.browser import downloads
from qutebrowser.config import stylesheet
+from qutebrowser.qt import QtCore, QtWidgets
from qutebrowser.utils import qtutils, utils
-from qutebrowser.qt import QtWidgets, QtCore
-
_ActionListType = MutableSequence[
Union[
diff --git a/qutebrowser/browser/eventfilter.py b/qutebrowser/browser/eventfilter.py
index ca057e0ac..3d6a15fd4 100644
--- a/qutebrowser/browser/eventfilter.py
+++ b/qutebrowser/browser/eventfilter.py
@@ -20,10 +20,10 @@
"""Event handling for a browser tab."""
from qutebrowser.config import config
-from qutebrowser.utils import message, log, usertypes, qtutils
-from qutebrowser.misc import objects
from qutebrowser.keyinput import modeman
+from qutebrowser.misc import objects
from qutebrowser.qt import QtCore
+from qutebrowser.utils import log, message, qtutils, usertypes
class ChildEventFilter(QtCore.QObject):
diff --git a/qutebrowser/browser/greasemonkey.py b/qutebrowser/browser/greasemonkey.py
index be5e40bb0..9e5c80041 100644
--- a/qutebrowser/browser/greasemonkey.py
+++ b/qutebrowser/browser/greasemonkey.py
@@ -19,23 +19,32 @@
"""Load, parse and make available Greasemonkey scripts."""
-import re
-import os
-import json
+import dataclasses
import fnmatch
import functools
import glob
+import json
+import os
+import re
import textwrap
-import dataclasses
-from typing import cast, List, Sequence
+from typing import List, Sequence, cast
-from qutebrowser.utils import (log, standarddir, jinja, objreg, utils,
- javascript, urlmatch, version, usertypes, message)
from qutebrowser.api import cmdutils
from qutebrowser.browser import downloads
from qutebrowser.misc import objects
from qutebrowser.qt import QtCore
-
+from qutebrowser.utils import (
+ javascript,
+ jinja,
+ log,
+ message,
+ objreg,
+ standarddir,
+ urlmatch,
+ usertypes,
+ utils,
+ version,
+)
gm_manager = cast('GreasemonkeyManager', None)
diff --git a/qutebrowser/browser/hints.py b/qutebrowser/browser/hints.py
index 027c9cb56..94f2efc44 100644
--- a/qutebrowser/browser/hints.py
+++ b/qutebrowser/browser/hints.py
@@ -20,24 +20,34 @@
"""A HintManager to draw hints over links."""
import collections
+import dataclasses
+import enum
import functools
+import html
import os
import re
-import html
-import enum
-import dataclasses
from string import ascii_lowercase
-from typing import (TYPE_CHECKING, Callable, Dict, Iterable, Iterator, List, Mapping,
- MutableSequence, Optional, Sequence, Set)
-from qutebrowser.qt import QtWidgets
+from typing import (
+ TYPE_CHECKING,
+ Callable,
+ Dict,
+ Iterable,
+ Iterator,
+ List,
+ Mapping,
+ MutableSequence,
+ Optional,
+ Sequence,
+ Set,
+)
-from qutebrowser.config import config, configexc
-from qutebrowser.keyinput import modeman, modeparsers, basekeyparser
-from qutebrowser.browser import webelem, history
-from qutebrowser.commands import runners
from qutebrowser.api import cmdutils
-from qutebrowser.utils import usertypes, log, qtutils, message, objreg, utils
-from qutebrowser.qt import QtCore
+from qutebrowser.browser import history, webelem
+from qutebrowser.commands import runners
+from qutebrowser.config import config, configexc
+from qutebrowser.keyinput import basekeyparser, modeman, modeparsers
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import log, message, objreg, qtutils, usertypes, utils
if TYPE_CHECKING:
from qutebrowser.browser import browsertab
diff --git a/qutebrowser/browser/history.py b/qutebrowser/browser/history.py
index 43d81ade8..b1d3d9281 100644
--- a/qutebrowser/browser/history.py
+++ b/qutebrowser/browser/history.py
@@ -19,18 +19,17 @@
"""Simple history which gets written to disk."""
-import os
-import time
import contextlib
+import os
import pathlib
-from typing import cast, Mapping, MutableSequence, Optional
+import time
+from typing import Mapping, MutableSequence, Optional, cast
-from qutebrowser.config import config
from qutebrowser.api import cmdutils
-from qutebrowser.utils import utils, log, usertypes, message, qtutils
+from qutebrowser.config import config
from qutebrowser.misc import objects, sql
-from qutebrowser.qt import QtWidgets, QtCore
-
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import log, message, qtutils, usertypes, utils
web_history = cast('WebHistory', None)
diff --git a/qutebrowser/browser/inspector.py b/qutebrowser/browser/inspector.py
index daf3c820e..0ae75ee6c 100644
--- a/qutebrowser/browser/inspector.py
+++ b/qutebrowser/browser/inspector.py
@@ -22,17 +22,14 @@
import base64
import binascii
import enum
-from typing import cast, Optional
-
-from qutebrowser.qt import QtWidgets
-from qutebrowser.qt import QtGui
+from typing import Optional, cast
from qutebrowser.browser import eventfilter
from qutebrowser.config import configfiles
-from qutebrowser.utils import log, usertypes
from qutebrowser.keyinput import modeman
from qutebrowser.misc import miscwidgets
-from qutebrowser.qt import QtCore
+from qutebrowser.qt import QtCore, QtGui, QtWidgets
+from qutebrowser.utils import log, usertypes
class Position(enum.Enum):
diff --git a/qutebrowser/browser/navigate.py b/qutebrowser/browser/navigate.py
index 9a4f588bb..aea03722a 100644
--- a/qutebrowser/browser/navigate.py
+++ b/qutebrowser/browser/navigate.py
@@ -19,16 +19,15 @@
"""Implementation of :navigate."""
-import re
import posixpath
+import re
from typing import Optional, Set
-from qutebrowser.qt import QtCore
-
from qutebrowser.browser import webelem
from qutebrowser.config import config
-from qutebrowser.utils import objreg, urlutils, log, message, qtutils
from qutebrowser.mainwindow import mainwindow
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import log, message, objreg, qtutils, urlutils
class Error(Exception):
diff --git a/qutebrowser/browser/network/pac.py b/qutebrowser/browser/network/pac.py
index c6cea79ca..8b53fb7e6 100644
--- a/qutebrowser/browser/network/pac.py
+++ b/qutebrowser/browser/network/pac.py
@@ -19,12 +19,12 @@
"""Evaluation of PAC scripts."""
-import sys
import functools
+import sys
from typing import Optional
-from qutebrowser.utils import log, utils, qtutils, resources
-from qutebrowser.qt import QtQml, QtNetwork, QtCore
+from qutebrowser.qt import QtCore, QtNetwork, QtQml
+from qutebrowser.utils import log, qtutils, resources, utils
class ParseProxyError(Exception):
diff --git a/qutebrowser/browser/network/proxy.py b/qutebrowser/browser/network/proxy.py
index 80a08f62a..e4d19f4a4 100644
--- a/qutebrowser/browser/network/proxy.py
+++ b/qutebrowser/browser/network/proxy.py
@@ -19,12 +19,11 @@
"""Handling of proxies."""
+from qutebrowser.browser.network import pac
from qutebrowser.config import config, configtypes
-from qutebrowser.utils import message, usertypes, urlutils, utils
from qutebrowser.misc import objects
-from qutebrowser.browser.network import pac
-from qutebrowser.qt import QtNetwork, QtCore
-
+from qutebrowser.qt import QtCore, QtNetwork
+from qutebrowser.utils import message, urlutils, usertypes, utils
application_factory = None
diff --git a/qutebrowser/browser/pdfjs.py b/qutebrowser/browser/pdfjs.py
index 1551aa8b9..9e3d6d6dd 100644
--- a/qutebrowser/browser/pdfjs.py
+++ b/qutebrowser/browser/pdfjs.py
@@ -22,10 +22,9 @@
import os
-from qutebrowser.utils import resources, javascript, jinja, standarddir, log
from qutebrowser.config import config
from qutebrowser.qt import QtCore
-
+from qutebrowser.utils import javascript, jinja, log, resources, standarddir
_SYSTEM_PATHS = [
# Debian pdf.js-common
diff --git a/qutebrowser/browser/qtnetworkdownloads.py b/qutebrowser/browser/qtnetworkdownloads.py
index 161fedef1..a819da3c8 100644
--- a/qutebrowser/browser/qtnetworkdownloads.py
+++ b/qutebrowser/browser/qtnetworkdownloads.py
@@ -19,21 +19,20 @@
"""Download manager."""
+import dataclasses
+import functools
import io
import os.path
import shutil
-import functools
-import dataclasses
-from typing import Dict, IO, Optional
-from qutebrowser.qt import QtWidgets
+from typing import IO, Dict, Optional
-from qutebrowser.config import config, websettings
-from qutebrowser.utils import message, usertypes, log, urlutils, utils, debug, objreg
-from qutebrowser.misc import quitter
from qutebrowser.browser import downloads
from qutebrowser.browser.webkit import http
from qutebrowser.browser.webkit.network import networkmanager
-from qutebrowser.qt import QtNetwork, QtCore
+from qutebrowser.config import config, websettings
+from qutebrowser.misc import quitter
+from qutebrowser.qt import QtCore, QtNetwork, QtWidgets
+from qutebrowser.utils import debug, log, message, objreg, urlutils, usertypes, utils
@dataclasses.dataclass
diff --git a/qutebrowser/browser/qutescheme.py b/qutebrowser/browser/qutescheme.py
index fb9bc7c55..bb0305228 100644
--- a/qutebrowser/browser/qutescheme.py
+++ b/qutebrowser/browser/qutescheme.py
@@ -24,24 +24,32 @@ Module attributes:
_HANDLERS: The handlers registered via decorators.
"""
+import collections
import html
import json
import os
-import time
+import secrets
import textwrap
+import time
import urllib
-import collections
-import secrets
-from typing import TypeVar, Callable, Dict, List, Optional, Union, Sequence, Tuple
+from typing import Callable, Dict, List, Optional, Sequence, Tuple, TypeVar, Union
import qutebrowser
-from qutebrowser.browser import pdfjs, downloads, history
+from qutebrowser.browser import downloads, history, pdfjs
from qutebrowser.config import config, configdata, configexc
-from qutebrowser.utils import (version, utils, jinja, log, message, docutils,
- resources, objreg, standarddir)
from qutebrowser.misc import guiprocess, quitter
from qutebrowser.qt import QtCore, sip
-
+from qutebrowser.utils import (
+ docutils,
+ jinja,
+ log,
+ message,
+ objreg,
+ resources,
+ standarddir,
+ utils,
+ version,
+)
pyeval_output = ":pyeval was never called"
csrf_token = None
diff --git a/qutebrowser/browser/shared.py b/qutebrowser/browser/shared.py
index d4fd379d3..0c49f373b 100644
--- a/qutebrowser/browser/shared.py
+++ b/qutebrowser/browser/shared.py
@@ -19,20 +19,28 @@
"""Various utilities shared between webpage/webview subclasses."""
-import os
-import sys
-import html
import enum
+import html
import netrc
+import os
+import sys
import tempfile
-from typing import Callable, Mapping, List, Optional, Iterable, Iterator
+from typing import Callable, Iterable, Iterator, List, Mapping, Optional
from qutebrowser.config import config
-from qutebrowser.utils import (usertypes, message, log, objreg, jinja, utils,
- qtutils, version)
from qutebrowser.mainwindow import mainwindow
from qutebrowser.misc import guiprocess, objects
from qutebrowser.qt import QtCore
+from qutebrowser.utils import (
+ jinja,
+ log,
+ message,
+ objreg,
+ qtutils,
+ usertypes,
+ utils,
+ version,
+)
class CallSuper(Exception):
diff --git a/qutebrowser/browser/signalfilter.py b/qutebrowser/browser/signalfilter.py
index 5e2f50860..103a1cc8d 100644
--- a/qutebrowser/browser/signalfilter.py
+++ b/qutebrowser/browser/signalfilter.py
@@ -22,7 +22,6 @@
import functools
from qutebrowser.qt import QtCore
-
from qutebrowser.utils import debug, log, objreg
diff --git a/qutebrowser/browser/urlmarks.py b/qutebrowser/browser/urlmarks.py
index 6821ecd76..d0e3413d5 100644
--- a/qutebrowser/browser/urlmarks.py
+++ b/qutebrowser/browser/urlmarks.py
@@ -25,18 +25,25 @@ OrderedDict. This is because we read them from a file at start and write them
to a file on shutdown, so it makes sense to keep them as strings here.
"""
+import collections
+import functools
+import html
import os
import os.path
-import html
-import functools
-import collections
from typing import MutableMapping
-from qutebrowser.utils import (message, usertypes, qtutils, urlutils,
- standarddir, objreg, log)
from qutebrowser.api import cmdutils
from qutebrowser.misc import lineparser
from qutebrowser.qt import QtCore
+from qutebrowser.utils import (
+ log,
+ message,
+ objreg,
+ qtutils,
+ standarddir,
+ urlutils,
+ usertypes,
+)
class Error(Exception):
diff --git a/qutebrowser/browser/webelem.py b/qutebrowser/browser/webelem.py
index d47e84c02..898a088ec 100644
--- a/qutebrowser/browser/webelem.py
+++ b/qutebrowser/browser/webelem.py
@@ -19,14 +19,13 @@
"""Generic web element related code."""
-from typing import cast, TYPE_CHECKING, Iterator, Optional, Set, Union
import collections.abc
-from qutebrowser.qt import QtGui
+from typing import TYPE_CHECKING, Iterator, Optional, Set, Union, cast
from qutebrowser.config import config
from qutebrowser.keyinput import modeman
-from qutebrowser.utils import log, usertypes, utils, qtutils, objreg
-from qutebrowser.qt import QtCore
+from qutebrowser.qt import QtCore, QtGui
+from qutebrowser.utils import log, objreg, qtutils, usertypes, utils
if TYPE_CHECKING:
from qutebrowser.browser import browsertab
diff --git a/qutebrowser/browser/webengine/certificateerror.py b/qutebrowser/browser/webengine/certificateerror.py
index e6427163b..8f0844018 100644
--- a/qutebrowser/browser/webengine/certificateerror.py
+++ b/qutebrowser/browser/webengine/certificateerror.py
@@ -19,9 +19,8 @@
"""Wrapper over a QWebEngineCertificateError."""
-from qutebrowser.qt import QtWebEngineWidgets, QtCore
-
-from qutebrowser.utils import usertypes, utils, debug
+from qutebrowser.qt import QtCore, QtWebEngineWidgets
+from qutebrowser.utils import debug, usertypes, utils
class CertificateErrorWrapper(usertypes.AbstractCertificateErrorWrapper):
diff --git a/qutebrowser/browser/webengine/interceptor.py b/qutebrowser/browser/webengine/interceptor.py
index ad99f1eef..acc2f8ec8 100644
--- a/qutebrowser/browser/webengine/interceptor.py
+++ b/qutebrowser/browser/webengine/interceptor.py
@@ -19,12 +19,12 @@
"""A request interceptor taking care of adblocking and custom headers."""
-from qutebrowser.config import websettings, config
from qutebrowser.browser import shared
-from qutebrowser.utils import utils, log, debug, qtutils
+from qutebrowser.config import config, websettings
from qutebrowser.extensions import interceptors
from qutebrowser.misc import objects
-from qutebrowser.qt import QtWebEngineCore, QtCore
+from qutebrowser.qt import QtCore, QtWebEngineCore
+from qutebrowser.utils import debug, log, qtutils, utils
class WebEngineRequest(interceptors.Request):
@@ -95,12 +95,8 @@ class RequestInterceptor(QtWebEngineCore.QWebEngineUrlRequestInterceptor):
}
try:
- preload_main_frame = (
- req_info.ResourceTypeNavigationPreloadMainFrame
- )
- preload_sub_frame = (
- req_info.ResourceTypeNavigationPreloadSubFrame
- )
+ preload_main_frame = req_info.ResourceTypeNavigationPreloadMainFrame
+ preload_sub_frame = req_info.ResourceTypeNavigationPreloadSubFrame
except AttributeError:
# Added in Qt 5.14
pass
diff --git a/qutebrowser/browser/webengine/notification.py b/qutebrowser/browser/webengine/notification.py
index 8a30e70ba..91650607f 100644
--- a/qutebrowser/browser/webengine/notification.py
+++ b/qutebrowser/browser/webengine/notification.py
@@ -41,14 +41,14 @@ Useful test pages:
- tests/end2end/data/javascript/notifications.html
"""
-import os
-import signal
-import html
import dataclasses
-import itertools
import functools
+import html
+import itertools
+import os
+import signal
import subprocess
-from typing import Any, List, Dict, Optional, Iterator, TYPE_CHECKING
+from typing import TYPE_CHECKING, Any, Dict, Iterator, List, Optional
if TYPE_CHECKING:
# putting these behind TYPE_CHECKING also means this module is importable
@@ -57,11 +57,17 @@ if TYPE_CHECKING:
from qutebrowser.config import config
from qutebrowser.misc import objects
+from qutebrowser.qt import QtCore, QtDBus, QtGui, QtWebEngine, QtWidgets, sip
from qutebrowser.utils import (
- qtutils, log, utils, debug, message, version, objreg, resources,
+ debug,
+ log,
+ message,
+ objreg,
+ qtutils,
+ resources,
+ utils,
+ version,
)
-from qutebrowser.qt import QtWidgets, QtWebEngine, QtGui, QtDBus, QtCore, sip
-
bridge: Optional['NotificationBridgePresenter'] = None
diff --git a/qutebrowser/browser/webengine/tabhistory.py b/qutebrowser/browser/webengine/tabhistory.py
index 37a8d7542..28b544430 100644
--- a/qutebrowser/browser/webengine/tabhistory.py
+++ b/qutebrowser/browser/webengine/tabhistory.py
@@ -19,9 +19,8 @@
"""QWebHistory serializer for QtWebEngine."""
-from qutebrowser.utils import qtutils
from qutebrowser.qt import QtCore
-
+from qutebrowser.utils import qtutils
# kHistoryStreamVersion = 3 was originally set when history serializing was
# implemented in QtWebEngine:
diff --git a/qutebrowser/browser/webengine/webenginedownloads.py b/qutebrowser/browser/webengine/webenginedownloads.py
index a2df805d4..fc79ca3de 100644
--- a/qutebrowser/browser/webengine/webenginedownloads.py
+++ b/qutebrowser/browser/webengine/webenginedownloads.py
@@ -19,15 +19,22 @@
"""QtWebEngine specific code for downloads."""
-import re
-import os.path
import functools
-from qutebrowser.qt import QtWebEngineWidgets
+import os.path
+import re
from qutebrowser.browser import downloads, pdfjs
-from qutebrowser.utils import (debug, usertypes, message, log, objreg, urlutils,
- utils, version)
-from qutebrowser.qt import QtCore
+from qutebrowser.qt import QtCore, QtWebEngineWidgets
+from qutebrowser.utils import (
+ debug,
+ log,
+ message,
+ objreg,
+ urlutils,
+ usertypes,
+ utils,
+ version,
+)
class DownloadItem(downloads.AbstractDownloadItem):
diff --git a/qutebrowser/browser/webengine/webengineelem.py b/qutebrowser/browser/webengine/webengineelem.py
index b195551e6..9ffc61e4c 100644
--- a/qutebrowser/browser/webengine/webengineelem.py
+++ b/qutebrowser/browser/webengine/webengineelem.py
@@ -20,13 +20,20 @@
"""QtWebEngine specific part of the web element API."""
from typing import (
- TYPE_CHECKING, Any, Callable, Dict, Iterator, Optional, Set, Tuple, Union)
-from qutebrowser.qt import QtWidgets
-from qutebrowser.qt import QtWebEngineWidgets
+ TYPE_CHECKING,
+ Any,
+ Callable,
+ Dict,
+ Iterator,
+ Optional,
+ Set,
+ Tuple,
+ Union,
+)
-from qutebrowser.utils import log, javascript, urlutils, usertypes, utils
from qutebrowser.browser import webelem
-from qutebrowser.qt import QtCore
+from qutebrowser.qt import QtCore, QtWebEngineWidgets, QtWidgets
+from qutebrowser.utils import javascript, log, urlutils, usertypes, utils
if TYPE_CHECKING:
from qutebrowser.browser.webengine import webenginetab
diff --git a/qutebrowser/browser/webengine/webengineinspector.py b/qutebrowser/browser/webengine/webengineinspector.py
index 3361ef19b..057ddb568 100644
--- a/qutebrowser/browser/webengine/webengineinspector.py
+++ b/qutebrowser/browser/webengine/webengineinspector.py
@@ -21,13 +21,12 @@
import pathlib
-from qutebrowser.qt import QtWidgets, QtWebEngineWidgets, QtCore
-
from qutebrowser.browser import inspector
from qutebrowser.browser.webengine import webenginesettings
-from qutebrowser.misc import miscwidgets
-from qutebrowser.utils import version, usertypes
from qutebrowser.keyinput import modeman
+from qutebrowser.misc import miscwidgets
+from qutebrowser.qt import QtCore, QtWebEngineWidgets, QtWidgets
+from qutebrowser.utils import usertypes, version
class WebEngineInspectorView(QtWebEngineWidgets.QWebEngineView):
diff --git a/qutebrowser/browser/webengine/webenginequtescheme.py b/qutebrowser/browser/webengine/webenginequtescheme.py
index 4fbbb1c55..ccb9e5a9f 100644
--- a/qutebrowser/browser/webengine/webenginequtescheme.py
+++ b/qutebrowser/browser/webengine/webenginequtescheme.py
@@ -20,8 +20,8 @@
"""QtWebEngine specific qute://* handlers and glue code."""
from qutebrowser.browser import qutescheme
+from qutebrowser.qt import QtCore, QtWebEngineCore
from qutebrowser.utils import log, qtutils
-from qutebrowser.qt import QtWebEngineCore, QtCore
class QuteSchemeHandler(QtWebEngineCore.QWebEngineUrlSchemeHandler):
diff --git a/qutebrowser/browser/webengine/webenginesettings.py b/qutebrowser/browser/webengine/webenginesettings.py
index 4eb4ce091..d356fc8a8 100644
--- a/qutebrowser/browser/webengine/webenginesettings.py
+++ b/qutebrowser/browser/webengine/webenginesettings.py
@@ -24,19 +24,32 @@ Module attributes:
constants.
"""
-import os
import operator
-from typing import cast, Any, List, Optional, Tuple, Union, TYPE_CHECKING
-
-from qutebrowser.qt import QtWidgets, QtWebEngineWidgets, QtGui
+import os
+from typing import TYPE_CHECKING, Any, List, Optional, Tuple, Union, cast
from qutebrowser.browser import history
-from qutebrowser.browser.webengine import (spell, webenginequtescheme, cookies,
- webenginedownloads, notification)
+from qutebrowser.browser.webengine import (
+ cookies,
+ notification,
+ spell,
+ webenginedownloads,
+ webenginequtescheme,
+)
from qutebrowser.config import config, websettings
from qutebrowser.config.websettings import AttributeInfo as Attr
-from qutebrowser.utils import (standarddir, qtutils, message, log,
- urlmatch, usertypes, objreg, version)
+from qutebrowser.qt import QtGui, QtWebEngineWidgets, QtWidgets
+from qutebrowser.utils import (
+ log,
+ message,
+ objreg,
+ qtutils,
+ standarddir,
+ urlmatch,
+ usertypes,
+ version,
+)
+
if TYPE_CHECKING:
from qutebrowser.browser.webengine import interceptor
@@ -111,13 +124,9 @@ class WebEngineSettings(websettings.AbstractSettings):
"""A wrapper for the config for QWebEngineSettings."""
_ATTRIBUTES = {
- 'content.xss_auditing': Attr(
- QWebEngineSettings.XSSAuditingEnabled
- ),
+ 'content.xss_auditing': Attr(QWebEngineSettings.XSSAuditingEnabled),
'content.images': Attr(QWebEngineSettings.AutoLoadImages),
- 'content.javascript.enabled': Attr(
- QWebEngineSettings.JavascriptEnabled
- ),
+ 'content.javascript.enabled': Attr(QWebEngineSettings.JavascriptEnabled),
'content.javascript.can_open_tabs_automatically': Attr(
QWebEngineSettings.JavascriptCanOpenWindows
),
@@ -125,9 +134,7 @@ class WebEngineSettings(websettings.AbstractSettings):
QWebEngineSettings.JavascriptCanAccessClipboard
),
'content.plugins': Attr(QWebEngineSettings.PluginsEnabled),
- 'content.hyperlink_auditing': Attr(
- QWebEngineSettings.HyperlinkAuditingEnabled
- ),
+ 'content.hyperlink_auditing': Attr(QWebEngineSettings.HyperlinkAuditingEnabled),
'content.local_content_can_access_remote_urls': Attr(
QWebEngineSettings.LocalContentCanAccessRemoteUrls
),
@@ -135,23 +142,17 @@ class WebEngineSettings(websettings.AbstractSettings):
QWebEngineSettings.LocalContentCanAccessFileUrls
),
'content.webgl': Attr(QWebEngineSettings.WebGLEnabled),
- 'content.local_storage': Attr(
- QWebEngineSettings.LocalStorageEnabled
- ),
+ 'content.local_storage': Attr(QWebEngineSettings.LocalStorageEnabled),
'content.desktop_capture': Attr(
QWebEngineSettings.ScreenCaptureEnabled,
converter=lambda val: True if val == 'ask' else val,
),
# 'ask' is handled via the permission system
- 'input.spatial_navigation': Attr(
- QWebEngineSettings.SpatialNavigationEnabled
- ),
+ 'input.spatial_navigation': Attr(QWebEngineSettings.SpatialNavigationEnabled),
'input.links_included_in_focus_chain': Attr(
QWebEngineSettings.LinksIncludedInFocusChain
),
- 'scrolling.smooth': Attr(
- QWebEngineSettings.ScrollAnimatorEnabled
- ),
+ 'scrolling.smooth': Attr(QWebEngineSettings.ScrollAnimatorEnabled),
'content.print_element_backgrounds': Attr(
QWebEngineSettings.PrintElementBackgrounds
),
@@ -159,9 +160,7 @@ class WebEngineSettings(websettings.AbstractSettings):
QWebEngineSettings.PlaybackRequiresUserGesture,
converter=operator.not_,
),
- 'content.dns_prefetch': Attr(
- QWebEngineSettings.DnsPrefetchEnabled
- ),
+ 'content.dns_prefetch': Attr(QWebEngineSettings.DnsPrefetchEnabled),
'tabs.favicons.show': Attr(
QWebEngineSettings.AutoLoadIconsForPage,
converter=lambda val: val != 'never',
diff --git a/qutebrowser/browser/webengine/webenginetab.py b/qutebrowser/browser/webengine/webenginetab.py
index 8e9e51e5d..fad6e15fb 100644
--- a/qutebrowser/browser/webengine/webenginetab.py
+++ b/qutebrowser/browser/webengine/webenginetab.py
@@ -19,25 +19,44 @@
"""Wrapper over a QWebEngineView."""
-import math
-import functools
import dataclasses
-import re
+import functools
import html as html_utils
-from typing import cast, Union, Optional
-from qutebrowser.qt import QtWidgets, QtWebEngineWidgets, QtWebEngineCore, QtNetwork
-
+import math
+import re
+from typing import Optional, Union, cast
+
+from qutebrowser.browser import browsertab, eventfilter, greasemonkey, shared, webelem
+from qutebrowser.browser.webengine import (
+ certificateerror,
+ tabhistory,
+ webengineelem,
+ webengineinspector,
+ webenginesettings,
+ webview,
+)
from qutebrowser.config import config
-from qutebrowser.browser import browsertab, eventfilter, shared, webelem, greasemonkey
-from qutebrowser.browser.webengine import (webview, webengineelem, tabhistory,
- webenginesettings, certificateerror,
- webengineinspector)
-
-from qutebrowser.utils import (usertypes, qtutils, log, javascript, utils,
- resources, message, jinja, debug, version)
-from qutebrowser.qt import QtCore, sip
-from qutebrowser.misc import objects, miscwidgets
-
+from qutebrowser.misc import miscwidgets, objects
+from qutebrowser.qt import (
+ QtCore,
+ QtNetwork,
+ QtWebEngineCore,
+ QtWebEngineWidgets,
+ QtWidgets,
+ sip,
+)
+from qutebrowser.utils import (
+ debug,
+ javascript,
+ jinja,
+ log,
+ message,
+ qtutils,
+ resources,
+ usertypes,
+ utils,
+ version,
+)
QWebEnginePage = QtWebEngineWidgets.QWebEnginePage
diff --git a/qutebrowser/browser/webengine/webview.py b/qutebrowser/browser/webengine/webview.py
index fdcbb224d..68eba58e1 100644
--- a/qutebrowser/browser/webengine/webview.py
+++ b/qutebrowser/browser/webengine/webview.py
@@ -19,15 +19,13 @@
"""The main browser widget for QtWebEngine."""
-from typing import List, Iterable
-from qutebrowser.qt import QtWebEngineWidgets, QtGui
+from typing import Iterable, List
from qutebrowser.browser import shared
-from qutebrowser.browser.webengine import webenginesettings, certificateerror
+from qutebrowser.browser.webengine import certificateerror, webenginesettings
from qutebrowser.config import config
-from qutebrowser.utils import log, debug, usertypes
-from qutebrowser.qt import QtCore
-
+from qutebrowser.qt import QtCore, QtGui, QtWebEngineWidgets
+from qutebrowser.utils import debug, log, usertypes
QWebEnginePage = QtWebEngineWidgets.QWebEnginePage
@@ -42,9 +40,7 @@ _QB_FILESELECTION_MODES = {
# the public QWebEnginePage::FileSelectionMode enum).
# However, QWebEnginePage::chooseFiles is still called with the matching value
# (2) when a file input with "webkitdirectory" is used.
- QWebEnginePage.FileSelectionMode(
- 2
- ): shared.FileSelectionMode.folder,
+ QWebEnginePage.FileSelectionMode(2): shared.FileSelectionMode.folder,
}
@@ -240,9 +236,7 @@ class WebEnginePage(QWebEnginePage):
QWebEnginePage.NavigationTypeOther: nav_request_type.other,
}
try:
- type_map[
- QWebEnginePage.NavigationTypeRedirect
- ] = nav_request_type.redirect
+ type_map[QWebEnginePage.NavigationTypeRedirect] = nav_request_type.redirect
except AttributeError:
# Added in Qt 5.14
pass
diff --git a/qutebrowser/browser/webkit/cache.py b/qutebrowser/browser/webkit/cache.py
index 74c682ed3..3d5477d55 100644
--- a/qutebrowser/browser/webkit/cache.py
+++ b/qutebrowser/browser/webkit/cache.py
@@ -19,14 +19,12 @@
"""HTTP network cache."""
-from typing import cast
import os.path
-
-from qutebrowser.qt import QtNetwork
+from typing import cast
from qutebrowser.config import config
-from qutebrowser.utils import utils, standarddir
-
+from qutebrowser.qt import QtNetwork
+from qutebrowser.utils import standarddir, utils
diskcache = cast('DiskCache', None)
diff --git a/qutebrowser/browser/webkit/certificateerror.py b/qutebrowser/browser/webkit/certificateerror.py
index 1099093af..76b55f796 100644
--- a/qutebrowser/browser/webkit/certificateerror.py
+++ b/qutebrowser/browser/webkit/certificateerror.py
@@ -22,8 +22,7 @@
from typing import Sequence
from qutebrowser.qt import QtNetwork
-
-from qutebrowser.utils import usertypes, utils, debug, jinja
+from qutebrowser.utils import debug, jinja, usertypes, utils
class CertificateErrorWrapper(usertypes.AbstractCertificateErrorWrapper):
diff --git a/qutebrowser/browser/webkit/cookies.py b/qutebrowser/browser/webkit/cookies.py
index e44f4532b..7a55f59da 100644
--- a/qutebrowser/browser/webkit/cookies.py
+++ b/qutebrowser/browser/webkit/cookies.py
@@ -22,10 +22,9 @@
from typing import Sequence
from qutebrowser.config import config
-from qutebrowser.utils import utils, standarddir, objreg, log
from qutebrowser.misc import lineparser, objects
-from qutebrowser.qt import QtNetwork, QtCore
-
+from qutebrowser.qt import QtCore, QtNetwork
+from qutebrowser.utils import log, objreg, standarddir, utils
cookie_jar = None
ram_cookie_jar = None
diff --git a/qutebrowser/browser/webkit/http.py b/qutebrowser/browser/webkit/http.py
index 148e8b7f0..026ef4be5 100644
--- a/qutebrowser/browser/webkit/http.py
+++ b/qutebrowser/browser/webkit/http.py
@@ -19,14 +19,13 @@
"""Parsing functions for various HTTP headers."""
-import email.headerregistry
-import email.errors
import dataclasses
+import email.errors
+import email.headerregistry
import os.path
from typing import Type
from qutebrowser.qt import QtNetwork
-
from qutebrowser.utils import log, utils
diff --git a/qutebrowser/browser/webkit/mhtml.py b/qutebrowser/browser/webkit/mhtml.py
index 7e106a57e..ea707cc4c 100644
--- a/qutebrowser/browser/webkit/mhtml.py
+++ b/qutebrowser/browser/webkit/mhtml.py
@@ -20,28 +20,27 @@
"""Utils for writing an MHTML file."""
-import html
+import dataclasses
+import email.encoders
+import email.generator
+import email.message
+import email.mime.multipart
+import email.policy
import functools
+import html
import io
import os
+import quopri
import re
import sys
import uuid
-import email.policy
-import email.generator
-import email.encoders
-import email.mime.multipart
-import email.message
-import quopri
-import dataclasses
-from typing import MutableMapping, Set, Tuple, Callable
-
-from qutebrowser.qt import QtCore
+from typing import Callable, MutableMapping, Set, Tuple
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 interceptors
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import log, message, objreg, urlutils, usertypes, utils
@dataclasses.dataclass
diff --git a/qutebrowser/browser/webkit/network/networkmanager.py b/qutebrowser/browser/webkit/network/networkmanager.py
index 5b95e3091..805d739f5 100644
--- a/qutebrowser/browser/webkit/network/networkmanager.py
+++ b/qutebrowser/browser/webkit/network/networkmanager.py
@@ -20,21 +20,23 @@
"""Our own QNetworkAccessManager."""
import collections
-import html
import dataclasses
+import html
from typing import TYPE_CHECKING, Dict, MutableMapping, Optional, Set
-from qutebrowser.config import config
-from qutebrowser.utils import (message, log, usertypes, utils, objreg,
- urlutils, debug)
from qutebrowser.browser import shared
from qutebrowser.browser.network import proxy as proxymod
+from qutebrowser.browser.webkit import cache, certificateerror, cookies
+from qutebrowser.browser.webkit.network import (
+ filescheme,
+ networkreply,
+ webkitqutescheme,
+)
+from qutebrowser.config import config
from qutebrowser.extensions import interceptors
-from qutebrowser.browser.webkit import certificateerror, cookies, cache
-from qutebrowser.browser.webkit.network import (webkitqutescheme, networkreply,
- filescheme)
from qutebrowser.misc import objects
-from qutebrowser.qt import QtNetwork, QtCore
+from qutebrowser.qt import QtCore, QtNetwork
+from qutebrowser.utils import debug, log, message, objreg, urlutils, usertypes, utils
if TYPE_CHECKING:
from qutebrowser.mainwindow import prompt
diff --git a/qutebrowser/browser/webkit/network/networkreply.py b/qutebrowser/browser/webkit/network/networkreply.py
index 3cb40ee53..1813a0c35 100644
--- a/qutebrowser/browser/webkit/network/networkreply.py
+++ b/qutebrowser/browser/webkit/network/networkreply.py
@@ -25,7 +25,7 @@
# pylint: disable=unnecessary-lambda
"""Special network replies.."""
-from qutebrowser.qt import QtNetwork, QtCore
+from qutebrowser.qt import QtCore, QtNetwork
class FixedDataNetworkReply(QtNetwork.QNetworkReply):
diff --git a/qutebrowser/browser/webkit/network/webkitqutescheme.py b/qutebrowser/browser/webkit/network/webkitqutescheme.py
index fa9678ea7..24dd52230 100644
--- a/qutebrowser/browser/webkit/network/webkitqutescheme.py
+++ b/qutebrowser/browser/webkit/network/webkitqutescheme.py
@@ -19,10 +19,9 @@
"""QtWebKit specific qute://* handlers and glue code."""
-from qutebrowser.qt import QtNetwork, QtCore
-
from qutebrowser.browser import qutescheme
from qutebrowser.browser.webkit.network import networkreply
+from qutebrowser.qt import QtCore, QtNetwork
from qutebrowser.utils import log, qtutils
diff --git a/qutebrowser/browser/webkit/tabhistory.py b/qutebrowser/browser/webkit/tabhistory.py
index 02561bfc7..15ecdb9ed 100644
--- a/qutebrowser/browser/webkit/tabhistory.py
+++ b/qutebrowser/browser/webkit/tabhistory.py
@@ -21,8 +21,8 @@
from typing import Any, List, Mapping
-from qutebrowser.utils import qtutils
from qutebrowser.qt import QtCore
+from qutebrowser.utils import qtutils
def _serialize_items(items, current_idx, stream):
diff --git a/qutebrowser/browser/webkit/webkitelem.py b/qutebrowser/browser/webkit/webkitelem.py
index f78189c3d..7b7e2eec5 100644
--- a/qutebrowser/browser/webkit/webkitelem.py
+++ b/qutebrowser/browser/webkit/webkitelem.py
@@ -19,13 +19,12 @@
"""QtWebKit specific part of the web element API."""
-from typing import cast, TYPE_CHECKING, Iterator, List, Optional, Set
-from qutebrowser.qt import QtWebKitWidgets
+from typing import TYPE_CHECKING, Iterator, List, Optional, Set, cast
-from qutebrowser.config import config
-from qutebrowser.utils import log, utils, javascript, usertypes
from qutebrowser.browser import webelem
-from qutebrowser.qt import QtWebKit, QtCore
+from qutebrowser.config import config
+from qutebrowser.qt import QtCore, QtWebKit, QtWebKitWidgets
+from qutebrowser.utils import javascript, log, usertypes, utils
if TYPE_CHECKING:
from qutebrowser.browser.webkit import webkittab
diff --git a/qutebrowser/browser/webkit/webkithistory.py b/qutebrowser/browser/webkit/webkithistory.py
index ed33522f9..efdb55381 100644
--- a/qutebrowser/browser/webkit/webkithistory.py
+++ b/qutebrowser/browser/webkit/webkithistory.py
@@ -21,10 +21,9 @@
import functools
+from qutebrowser.misc import debugcachestats
from qutebrowser.qt import QtWebKit
-
from qutebrowser.utils import debug
-from qutebrowser.misc import debugcachestats
class WebHistoryInterface(QtWebKit.QWebHistoryInterface):
diff --git a/qutebrowser/browser/webkit/webkitinspector.py b/qutebrowser/browser/webkit/webkitinspector.py
index 1e287e57b..6c74772ef 100644
--- a/qutebrowser/browser/webkit/webkitinspector.py
+++ b/qutebrowser/browser/webkit/webkitinspector.py
@@ -19,10 +19,9 @@
"""Customized QWebInspector for QtWebKit."""
-from qutebrowser.qt import QtWidgets, QtWebKitWidgets, QtWebKit
-
from qutebrowser.browser import inspector
from qutebrowser.misc import miscwidgets
+from qutebrowser.qt import QtWebKit, QtWebKitWidgets, QtWidgets
class WebKitInspector(inspector.AbstractWebInspector):
diff --git a/qutebrowser/browser/webkit/webkitsettings.py b/qutebrowser/browser/webkit/webkitsettings.py
index 3747cbade..004f6790c 100644
--- a/qutebrowser/browser/webkit/webkitsettings.py
+++ b/qutebrowser/browser/webkit/webkitsettings.py
@@ -24,16 +24,14 @@ Module attributes:
constants.
"""
-from typing import cast
import os.path
+from typing import cast
-from qutebrowser.qt import QtWebKitWidgets, QtWebKit, QtGui, QtCore
-
+from qutebrowser.browser import shared
from qutebrowser.config import config, websettings
from qutebrowser.config.websettings import AttributeInfo as Attr
+from qutebrowser.qt import QtCore, QtGui, QtWebKit, QtWebKitWidgets
from qutebrowser.utils import standarddir, urlutils
-from qutebrowser.browser import shared
-
# The global WebKitSettings object
global_settings = cast('WebKitSettings', None)
diff --git a/qutebrowser/browser/webkit/webkittab.py b/qutebrowser/browser/webkit/webkittab.py
index 6734ea974..7424db18b 100644
--- a/qutebrowser/browser/webkit/webkittab.py
+++ b/qutebrowser/browser/webkit/webkittab.py
@@ -19,18 +19,30 @@
"""Wrapper over our (QtWebKit) WebView."""
-import re
import functools
+import re
import xml.etree.ElementTree
-from typing import cast, Iterable, Optional
-from qutebrowser.qt import QtWidgets, QtWebKitWidgets, QtWebKit, QtPrintSupport, QtGui
+from typing import Iterable, Optional, cast
from qutebrowser.browser import browsertab, shared
-from qutebrowser.browser.webkit import (webview, tabhistory, webkitelem,
- webkitsettings, webkitinspector)
-from qutebrowser.utils import qtutils, usertypes, utils, log, debug, resources
+from qutebrowser.browser.webkit import (
+ tabhistory,
+ webkitelem,
+ webkitinspector,
+ webkitsettings,
+ webview,
+)
from qutebrowser.keyinput import modeman
-from qutebrowser.qt import QtCore, sip
+from qutebrowser.qt import (
+ QtCore,
+ QtGui,
+ QtPrintSupport,
+ QtWebKit,
+ QtWebKitWidgets,
+ QtWidgets,
+ sip,
+)
+from qutebrowser.utils import debug, log, qtutils, resources, usertypes, utils
class WebKitAction(browsertab.AbstractAction):
diff --git a/qutebrowser/browser/webkit/webpage.py b/qutebrowser/browser/webkit/webpage.py
index fd41c701e..77d9f5a54 100644
--- a/qutebrowser/browser/webkit/webpage.py
+++ b/qutebrowser/browser/webkit/webpage.py
@@ -19,17 +19,24 @@
"""The main browser widgets."""
-import html
import functools
+import html
from typing import cast
-from qutebrowser.qt import QtWidgets, QtWebKitWidgets, QtPrintSupport, QtNetwork, QtGui
-from qutebrowser.config import websettings, config
-from qutebrowser.browser import pdfjs, shared, downloads, greasemonkey
+from qutebrowser.browser import downloads, greasemonkey, pdfjs, shared
from qutebrowser.browser.webkit import http
from qutebrowser.browser.webkit.network import networkmanager
-from qutebrowser.utils import message, usertypes, log, jinja, objreg
-from qutebrowser.qt import QtCore, sip
+from qutebrowser.config import config, websettings
+from qutebrowser.qt import (
+ QtCore,
+ QtGui,
+ QtNetwork,
+ QtPrintSupport,
+ QtWebKitWidgets,
+ QtWidgets,
+ sip,
+)
+from qutebrowser.utils import jinja, log, message, objreg, usertypes
class BrowserPage(QtWebKitWidgets.QWebPage):
diff --git a/qutebrowser/browser/webkit/webview.py b/qutebrowser/browser/webkit/webview.py
index 5a6acfbc1..32e6a25f9 100644
--- a/qutebrowser/browser/webkit/webview.py
+++ b/qutebrowser/browser/webkit/webview.py
@@ -18,13 +18,11 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
"""The main browser widgets."""
-from qutebrowser.qt import QtWebKitWidgets, QtWebKit
-
+from qutebrowser.browser.webkit import webpage
from qutebrowser.config import config, stylesheet
from qutebrowser.keyinput import modeman
-from qutebrowser.utils import log, usertypes, utils, objreg, debug
-from qutebrowser.browser.webkit import webpage
-from qutebrowser.qt import QtCore
+from qutebrowser.qt import QtCore, QtWebKit, QtWebKitWidgets
+from qutebrowser.utils import debug, log, objreg, usertypes, utils
class WebView(QtWebKitWidgets.QWebView):
diff --git a/qutebrowser/commands/argparser.py b/qutebrowser/commands/argparser.py
index 910d2194b..c199e08c4 100644
--- a/qutebrowser/commands/argparser.py
+++ b/qutebrowser/commands/argparser.py
@@ -21,11 +21,9 @@
import argparse
-from qutebrowser.qt import QtCore
-
from qutebrowser.commands import cmdexc
-from qutebrowser.utils import utils, objreg, log
-
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import log, objreg, utils
SUPPRESS = argparse.SUPPRESS
diff --git a/qutebrowser/commands/runners.py b/qutebrowser/commands/runners.py
index e5d5d2617..8e523213b 100644
--- a/qutebrowser/commands/runners.py
+++ b/qutebrowser/commands/runners.py
@@ -19,16 +19,16 @@
"""Module containing command managers (SearchRunner and CommandRunner)."""
-import traceback
-import re
import contextlib
+import re
+import traceback
from typing import TYPE_CHECKING, Callable, Dict, Iterator, Mapping, MutableMapping
from qutebrowser.api import cmdutils
from qutebrowser.commands import cmdexc, parser
-from qutebrowser.utils import message, objreg, qtutils, usertypes, utils
from qutebrowser.keyinput import macros, modeman
from qutebrowser.qt import QtCore
+from qutebrowser.utils import message, objreg, qtutils, usertypes, utils
if TYPE_CHECKING:
from qutebrowser.mainwindow import tabbedbrowser
diff --git a/qutebrowser/commands/userscripts.py b/qutebrowser/commands/userscripts.py
index c47bead34..c7f2ce8af 100644
--- a/qutebrowser/commands/userscripts.py
+++ b/qutebrowser/commands/userscripts.py
@@ -22,15 +22,15 @@
import os
import os.path
import tempfile
-from typing import cast, Any, MutableMapping, Tuple
+from typing import Any, MutableMapping, Tuple, cast
import qutebrowser
-from qutebrowser.utils import message, log, objreg, standarddir, utils
+from qutebrowser.browser import downloads
from qutebrowser.commands import runners
from qutebrowser.config import websettings
from qutebrowser.misc import guiprocess
-from qutebrowser.browser import downloads
from qutebrowser.qt import QtCore, sip
+from qutebrowser.utils import log, message, objreg, standarddir, utils
class _QtFIFOReader(QtCore.QObject):
diff --git a/qutebrowser/completion/completer.py b/qutebrowser/completion/completer.py
index fd3ebf4d6..f96bd9532 100644
--- a/qutebrowser/completion/completer.py
+++ b/qutebrowser/completion/completer.py
@@ -22,12 +22,12 @@
import dataclasses
from typing import TYPE_CHECKING
+from qutebrowser.commands import cmdexc, parser
+from qutebrowser.completion.models import miscmodels
from qutebrowser.config import config
-from qutebrowser.commands import parser, cmdexc
from qutebrowser.misc import objects, split
-from qutebrowser.utils import log, utils, debug, objreg
-from qutebrowser.completion.models import miscmodels
from qutebrowser.qt import QtCore
+from qutebrowser.utils import debug, log, objreg, utils
if TYPE_CHECKING:
from qutebrowser.browser import browsertab
diff --git a/qutebrowser/completion/completiondelegate.py b/qutebrowser/completion/completiondelegate.py
index d3c635bbf..e5fed8108 100644
--- a/qutebrowser/completion/completiondelegate.py
+++ b/qutebrowser/completion/completiondelegate.py
@@ -22,12 +22,12 @@
We use this to be able to highlight parts of the text.
"""
-import re
import html
+import re
from qutebrowser.config import config
+from qutebrowser.qt import QtCore, QtGui, QtWidgets
from qutebrowser.utils import qtutils
-from qutebrowser.qt import QtWidgets, QtGui, QtCore
class _Highlighter(QtGui.QSyntaxHighlighter):
diff --git a/qutebrowser/completion/completionwidget.py b/qutebrowser/completion/completionwidget.py
index d523241fb..4f9b7c706 100644
--- a/qutebrowser/completion/completionwidget.py
+++ b/qutebrowser/completion/completionwidget.py
@@ -25,11 +25,11 @@ subclasses to provide completions.
from typing import TYPE_CHECKING, Optional
-from qutebrowser.config import config, stylesheet
-from qutebrowser.completion import completiondelegate
-from qutebrowser.utils import utils, usertypes, debug, log, qtutils
from qutebrowser.api import cmdutils
-from qutebrowser.qt import QtWidgets, QtCore
+from qutebrowser.completion import completiondelegate
+from qutebrowser.config import config, stylesheet
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import debug, log, qtutils, usertypes, utils
if TYPE_CHECKING:
from qutebrowser.mainwindow.statusbar import command
diff --git a/qutebrowser/completion/models/completionmodel.py b/qutebrowser/completion/models/completionmodel.py
index b08b7fc92..e1717a06d 100644
--- a/qutebrowser/completion/models/completionmodel.py
+++ b/qutebrowser/completion/models/completionmodel.py
@@ -21,9 +21,9 @@
from typing import MutableSequence
-from qutebrowser.utils import log, qtutils, utils
from qutebrowser.api import cmdutils
from qutebrowser.qt import QtCore
+from qutebrowser.utils import log, qtutils, utils
class CompletionModel(QtCore.QAbstractItemModel):
diff --git a/qutebrowser/completion/models/filepathcategory.py b/qutebrowser/completion/models/filepathcategory.py
index 412bf06d0..47f3c9301 100644
--- a/qutebrowser/completion/models/filepathcategory.py
+++ b/qutebrowser/completion/models/filepathcategory.py
@@ -29,11 +29,11 @@ is harder to achieve via pathlib.
import glob
import os
import os.path
-from typing import List, Optional, Iterable
+from typing import Iterable, List, Optional
from qutebrowser.config import config
-from qutebrowser.utils import log
from qutebrowser.qt import QtCore
+from qutebrowser.utils import log
class FilePathCategory(QtCore.QAbstractListModel):
diff --git a/qutebrowser/completion/models/histcategory.py b/qutebrowser/completion/models/histcategory.py
index 662753dfc..fd43dc770 100644
--- a/qutebrowser/completion/models/histcategory.py
+++ b/qutebrowser/completion/models/histcategory.py
@@ -21,12 +21,11 @@
from typing import Optional
-from qutebrowser.qt import QtWidgets, QtSql
-
-from qutebrowser.misc import sql
-from qutebrowser.utils import debug, message, log
-from qutebrowser.config import config
from qutebrowser.completion.models import util
+from qutebrowser.config import config
+from qutebrowser.misc import sql
+from qutebrowser.qt import QtSql, QtWidgets
+from qutebrowser.utils import debug, log, message
class HistoryCategory(QtSql.QSqlQueryModel):
diff --git a/qutebrowser/completion/models/listcategory.py b/qutebrowser/completion/models/listcategory.py
index 727222b88..97817dfe9 100644
--- a/qutebrowser/completion/models/listcategory.py
+++ b/qutebrowser/completion/models/listcategory.py
@@ -21,11 +21,10 @@
import re
from typing import Iterable, Tuple
-from qutebrowser.qt import QtWidgets
from qutebrowser.completion.models import util
-from qutebrowser.utils import qtutils, log
-from qutebrowser.qt import QtGui, QtCore
+from qutebrowser.qt import QtCore, QtGui, QtWidgets
+from qutebrowser.utils import log, qtutils
class ListCategory(QtCore.QSortFilterProxyModel):
diff --git a/qutebrowser/completion/models/urlmodel.py b/qutebrowser/completion/models/urlmodel.py
index 7198bf864..07a31a30f 100644
--- a/qutebrowser/completion/models/urlmodel.py
+++ b/qutebrowser/completion/models/urlmodel.py
@@ -21,14 +21,16 @@
from typing import Dict, Sequence
-from qutebrowser.qt import QtCore
-
-from qutebrowser.completion.models import (completionmodel, filepathcategory,
- listcategory, histcategory)
from qutebrowser.browser import history
-from qutebrowser.utils import log, objreg
+from qutebrowser.completion.models import (
+ completionmodel,
+ filepathcategory,
+ histcategory,
+ listcategory,
+)
from qutebrowser.config import config
-
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import log, objreg
_URLCOL = 0
_TEXTCOL = 1
diff --git a/qutebrowser/components/braveadblock.py b/qutebrowser/components/braveadblock.py
index a10e6e95a..2b3a9fddc 100644
--- a/qutebrowser/components/braveadblock.py
+++ b/qutebrowser/components/braveadblock.py
@@ -19,26 +19,18 @@
"""Functions related to the Brave adblocker."""
+import contextlib
+import functools
import io
import logging
import pathlib
-import functools
-import contextlib
import subprocess
-from typing import Optional, IO, Iterator
+from typing import IO, Iterator, Optional
-from qutebrowser.qt import QtCore
-
-from qutebrowser.api import (
- hook,
- config,
- message,
- interceptor,
- apitypes,
- qtutils,
-)
+from qutebrowser.api import apitypes, config, hook, interceptor, message, qtutils
from qutebrowser.api.interceptor import ResourceType
from qutebrowser.components.utils import blockutils
+from qutebrowser.qt import QtCore
from qutebrowser.utils import version # FIXME: Move needed parts into api namespace?
try:
diff --git a/qutebrowser/components/hostblock.py b/qutebrowser/components/hostblock.py
index f3f2682c7..1b88d78d3 100644
--- a/qutebrowser/components/hostblock.py
+++ b/qutebrowser/components/hostblock.py
@@ -19,30 +19,21 @@
"""Functions related to host blocking."""
+import logging
import os.path
+import pathlib
import posixpath
import zipfile
-import logging
-import pathlib
-from typing import cast, IO, Set
+from typing import IO, Set, cast
-from qutebrowser.qt import QtCore
-
-from qutebrowser.api import (
- hook,
- config,
- message,
- interceptor,
- apitypes,
- qtutils,
-)
+from qutebrowser.api import apitypes, config, hook, interceptor, message, qtutils
from qutebrowser.components.utils import blockutils
+from qutebrowser.qt import QtCore
from qutebrowser.utils import ( # FIXME: Move needed parts into api namespace?
urlutils,
- version
+ version,
)
-
logger = logging.getLogger("network")
host_blocker = cast("HostBlocker", None)
diff --git a/qutebrowser/components/misccommands.py b/qutebrowser/components/misccommands.py
index 543d80254..da6d0bb41 100644
--- a/qutebrowser/components/misccommands.py
+++ b/qutebrowser/components/misccommands.py
@@ -22,11 +22,11 @@
"""Various commands."""
-import os
-import signal
import functools
import logging
+import os
import pathlib
+import signal
from typing import Optional
try:
@@ -34,15 +34,13 @@ try:
except ImportError:
hunter = None
-from qutebrowser.qt import QtPrintSupport, QtCore
-
-from qutebrowser.api import cmdutils, apitypes, message, config
+from qutebrowser.api import apitypes, cmdutils, config, message
# FIXME should be part of qutebrowser.api?
from qutebrowser.completion.models import miscmodels
+from qutebrowser.qt import QtCore, QtPrintSupport
from qutebrowser.utils import utils
-
_LOGGER = logging.getLogger('misc')
diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py
index 23d5e1a31..f20c4860a 100644
--- a/qutebrowser/config/config.py
+++ b/qutebrowser/config/config.py
@@ -19,18 +19,30 @@
"""Configuration storage and config-related utilities."""
-import copy
import contextlib
+import copy
import functools
-from typing import (TYPE_CHECKING, Any, Callable, Dict, Iterator, List, Mapping,
- MutableMapping, MutableSequence, Optional, Tuple, cast)
+from typing import (
+ TYPE_CHECKING,
+ Any,
+ Callable,
+ Dict,
+ Iterator,
+ List,
+ Mapping,
+ MutableMapping,
+ MutableSequence,
+ Optional,
+ Tuple,
+ cast,
+)
from qutebrowser.commands import cmdexc, parser
from qutebrowser.config import configdata, configexc, configutils
-from qutebrowser.utils import utils, log, urlmatch
-from qutebrowser.misc import objects
from qutebrowser.keyinput import keyutils
+from qutebrowser.misc import objects
from qutebrowser.qt import QtCore
+from qutebrowser.utils import log, urlmatch, utils
if TYPE_CHECKING:
from qutebrowser.config import configcache, configfiles
diff --git a/qutebrowser/config/configcommands.py b/qutebrowser/config/configcommands.py
index ead03761f..ada184453 100644
--- a/qutebrowser/config/configcommands.py
+++ b/qutebrowser/config/configcommands.py
@@ -19,18 +19,17 @@
"""Commands related to the configuration."""
-import os.path
import contextlib
-from typing import TYPE_CHECKING, Iterator, List, Optional, Any, Tuple
-
-from qutebrowser.qt import QtCore
+import os.path
+from typing import TYPE_CHECKING, Any, Iterator, List, Optional, Tuple
from qutebrowser.api import cmdutils
from qutebrowser.completion.models import configmodel
-from qutebrowser.utils import objreg, message, standarddir, urlmatch
-from qutebrowser.config import configtypes, configexc, configfiles, configdata
-from qutebrowser.misc import editor
+from qutebrowser.config import configdata, configexc, configfiles, configtypes
from qutebrowser.keyinput import keyutils
+from qutebrowser.misc import editor
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import message, objreg, standarddir, urlmatch
if TYPE_CHECKING:
from qutebrowser.config.config import Config, KeyConfig
diff --git a/qutebrowser/config/configfiles.py b/qutebrowser/config/configfiles.py
index 0553ef59f..92fbb61ef 100644
--- a/qutebrowser/config/configfiles.py
+++ b/qutebrowser/config/configfiles.py
@@ -19,27 +19,37 @@
"""Configuration files residing on disk."""
+import configparser
+import contextlib
import enum
-import pathlib
-import types
import os.path
+import pathlib
+import re
import sys
import textwrap
import traceback
-import configparser
-import contextlib
-import re
-from typing import (TYPE_CHECKING, Any, Dict, Iterable, Iterator, List, Mapping,
- MutableMapping, Optional, Tuple, cast)
+import types
+from typing import (
+ TYPE_CHECKING,
+ Any,
+ Dict,
+ Iterable,
+ Iterator,
+ List,
+ Mapping,
+ MutableMapping,
+ Optional,
+ Tuple,
+ cast,
+)
import yaml
import qutebrowser
-from qutebrowser.config import (configexc, config, configdata, configutils,
- configtypes)
+from qutebrowser.config import config, configdata, configexc, configtypes, configutils
from qutebrowser.keyinput import keyutils
-from qutebrowser.utils import standarddir, utils, qtutils, log, urlmatch, version
-from qutebrowser.qt import QtWebEngineWidgets, QtCore
+from qutebrowser.qt import QtCore, QtWebEngineWidgets
+from qutebrowser.utils import log, qtutils, standarddir, urlmatch, utils, version
if TYPE_CHECKING:
from qutebrowser.misc import savemanager
diff --git a/qutebrowser/config/configinit.py b/qutebrowser/config/configinit.py
index e88a4cd30..a66d3d39d 100644
--- a/qutebrowser/config/configinit.py
+++ b/qutebrowser/config/configinit.py
@@ -23,15 +23,21 @@ import argparse
import os.path
import sys
-from qutebrowser.qt import QtWidgets
-
from qutebrowser.api import config as configapi
-from qutebrowser.config import (config, configdata, configfiles, configtypes,
- configexc, configcommands, stylesheet, qtargs)
-from qutebrowser.utils import objreg, usertypes, log, standarddir, message
-from qutebrowser.config import configcache
+from qutebrowser.config import (
+ config,
+ configcache,
+ configcommands,
+ configdata,
+ configexc,
+ configfiles,
+ configtypes,
+ qtargs,
+ stylesheet,
+)
from qutebrowser.misc import msgbox, objects, savemanager
-
+from qutebrowser.qt import QtWidgets
+from qutebrowser.utils import log, message, objreg, standarddir, usertypes
# Error which happened during init, so we can show a message box.
_init_errors = None
diff --git a/qutebrowser/config/configtypes.py b/qutebrowser/config/configtypes.py
index af60ec5c0..0408bd1e1 100644
--- a/qutebrowser/config/configtypes.py
+++ b/qutebrowser/config/configtypes.py
@@ -42,28 +42,37 @@ Config types can do different conversations:
This also validates whether the object is actually correct (type/value).
"""
-import re
-import html
import codecs
-import os.path
-import itertools
+import dataclasses
import functools
-import operator
+import html
+import itertools
import json
-import dataclasses
-from typing import (Any, Callable, Dict as DictType, Iterable, Iterator,
- List as ListType, Optional, Pattern, Sequence, Tuple, Union)
+import operator
+import os.path
+import re
+from typing import Any, Callable
+from typing import Dict as DictType
+from typing import Iterable, Iterator
+from typing import List as ListType
+from typing import Optional, Pattern, Sequence, Tuple, Union
import yaml
-from qutebrowser.qt import QtWidgets, QtNetwork, QtGui
-from qutebrowser.misc import objects, debugcachestats
+from qutebrowser.browser.network import pac
from qutebrowser.config import configexc, configutils
-from qutebrowser.utils import (standarddir, utils, qtutils, urlutils, urlmatch,
- usertypes, log)
from qutebrowser.keyinput import keyutils
-from qutebrowser.browser.network import pac
-from qutebrowser.qt import QtCore
+from qutebrowser.misc import debugcachestats, objects
+from qutebrowser.qt import QtCore, QtGui, QtNetwork, QtWidgets
+from qutebrowser.utils import (
+ log,
+ qtutils,
+ standarddir,
+ urlmatch,
+ urlutils,
+ usertypes,
+ utils,
+)
class _SystemProxy:
diff --git a/qutebrowser/config/configutils.py b/qutebrowser/config/configutils.py
index c58898d62..60357b123 100644
--- a/qutebrowser/config/configutils.py
+++ b/qutebrowser/config/configutils.py
@@ -25,13 +25,21 @@ import collections
import itertools
import operator
from typing import (
- TYPE_CHECKING, Any, Dict, Iterator, List, Optional, Sequence, Set, Union,
- MutableMapping)
+ TYPE_CHECKING,
+ Any,
+ Dict,
+ Iterator,
+ List,
+ MutableMapping,
+ Optional,
+ Sequence,
+ Set,
+ Union,
+)
-from qutebrowser.qt import QtWidgets, QtGui, QtCore
-
-from qutebrowser.utils import utils, urlmatch, urlutils, usertypes, qtutils
from qutebrowser.config import configexc
+from qutebrowser.qt import QtCore, QtGui, QtWidgets
+from qutebrowser.utils import qtutils, urlmatch, urlutils, usertypes, utils
if TYPE_CHECKING:
from qutebrowser.config import configdata
diff --git a/qutebrowser/config/qtargs.py b/qutebrowser/config/qtargs.py
index dd93e6689..606a3e2c4 100644
--- a/qutebrowser/config/qtargs.py
+++ b/qutebrowser/config/qtargs.py
@@ -19,17 +19,16 @@
"""Get arguments to pass to Qt."""
-import os
-import sys
import argparse
+import os
import pathlib
+import sys
from typing import Any, Dict, Iterator, List, Optional, Sequence, Tuple
from qutebrowser.config import config
from qutebrowser.misc import objects
-from qutebrowser.utils import usertypes, qtutils, utils, log, version
from qutebrowser.qt import QtCore, QtWebEngine
-
+from qutebrowser.utils import log, qtutils, usertypes, utils, version
_ENABLE_FEATURES = '--enable-features='
_DISABLE_FEATURES = '--disable-features='
diff --git a/qutebrowser/config/stylesheet.py b/qutebrowser/config/stylesheet.py
index b23e51ef0..719b3378b 100644
--- a/qutebrowser/config/stylesheet.py
+++ b/qutebrowser/config/stylesheet.py
@@ -20,12 +20,12 @@
"""Handling of Qt qss stylesheets."""
import functools
-from typing import Optional, FrozenSet
+from typing import FrozenSet, Optional
from qutebrowser.config import config
from qutebrowser.misc import debugcachestats
-from qutebrowser.utils import jinja, log
from qutebrowser.qt import QtCore
+from qutebrowser.utils import jinja, log
def set_register(
diff --git a/qutebrowser/config/websettings.py b/qutebrowser/config/websettings.py
index cdddf6956..5fb103a26 100644
--- a/qutebrowser/config/websettings.py
+++ b/qutebrowser/config/websettings.py
@@ -19,18 +19,17 @@
"""Bridge from QWeb(Engine)Settings to our own settings."""
-import re
import argparse
-import functools
import dataclasses
+import functools
+import re
from typing import Any, Callable, Dict, Optional, Union
-from qutebrowser.qt import QtGui
import qutebrowser
from qutebrowser.config import config
-from qutebrowser.utils import usertypes, urlmatch, qtutils, utils
-from qutebrowser.misc import objects, debugcachestats
-from qutebrowser.qt import QtCore
+from qutebrowser.misc import debugcachestats, objects
+from qutebrowser.qt import QtCore, QtGui
+from qutebrowser.utils import qtutils, urlmatch, usertypes, utils
UNSET = object()
diff --git a/qutebrowser/extensions/loader.py b/qutebrowser/extensions/loader.py
index 623a665d7..bb075f4ff 100644
--- a/qutebrowser/extensions/loader.py
+++ b/qutebrowser/extensions/loader.py
@@ -19,21 +19,19 @@
"""Loader for qutebrowser extensions."""
-import pkgutil
-import types
-import pathlib
-import importlib
import argparse
import dataclasses
+import importlib
+import pathlib
+import pkgutil
+import types
from typing import Callable, Iterator, List, Optional, Tuple
-from qutebrowser.qt import QtCore
-
from qutebrowser import components
from qutebrowser.config import config
-from qutebrowser.utils import log, standarddir
from qutebrowser.misc import objects
-
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import log, standarddir
# ModuleInfo objects for all loaded plugins
_module_infos = []
diff --git a/qutebrowser/keyinput/basekeyparser.py b/qutebrowser/keyinput/basekeyparser.py
index 08cb2b3bc..bb47ef6bf 100644
--- a/qutebrowser/keyinput/basekeyparser.py
+++ b/qutebrowser/keyinput/basekeyparser.py
@@ -19,15 +19,15 @@
"""Base class for vim-like key sequence parser."""
+import dataclasses
import string
import types
-import dataclasses
from typing import Mapping, MutableMapping, Optional, Sequence
from qutebrowser.config import config
-from qutebrowser.utils import usertypes, log, utils
from qutebrowser.keyinput import keyutils
-from qutebrowser.qt import QtGui, QtCore
+from qutebrowser.qt import QtCore, QtGui
+from qutebrowser.utils import log, usertypes, utils
@dataclasses.dataclass(frozen=True)
diff --git a/qutebrowser/keyinput/eventfilter.py b/qutebrowser/keyinput/eventfilter.py
index d550a384e..68bbdf22e 100644
--- a/qutebrowser/keyinput/eventfilter.py
+++ b/qutebrowser/keyinput/eventfilter.py
@@ -22,9 +22,9 @@
from typing import cast
from qutebrowser.keyinput import modeman
-from qutebrowser.misc import quitter, objects
+from qutebrowser.misc import objects, quitter
+from qutebrowser.qt import QtCore, QtGui
from qutebrowser.utils import objreg
-from qutebrowser.qt import QtGui, QtCore
class EventFilter(QtCore.QObject):
diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py
index e6ed74314..edd290837 100644
--- a/qutebrowser/keyinput/keyutils.py
+++ b/qutebrowser/keyinput/keyutils.py
@@ -31,13 +31,12 @@ Because of that, _assert_plain_key() and _assert_plain_modifier() make sure we
handle what we actually think we do.
"""
-import itertools
import dataclasses
-from typing import cast, overload, Iterable, Iterator, List, Mapping, Optional, Union
+import itertools
+from typing import Iterable, Iterator, List, Mapping, Optional, Union, cast, overload
+from qutebrowser.qt import QtCore, QtGui
from qutebrowser.utils import utils
-from qutebrowser.qt import QtGui, QtCore
-
# Map Qt::Key values to their Qt::KeyboardModifier value.
_MODIFIER_MAP = {
diff --git a/qutebrowser/keyinput/modeman.py b/qutebrowser/keyinput/modeman.py
index 8d4e72879..7bdf7765a 100644
--- a/qutebrowser/keyinput/modeman.py
+++ b/qutebrowser/keyinput/modeman.py
@@ -19,19 +19,18 @@
"""Mode manager (per window) which handles the current keyboard mode."""
-import functools
import dataclasses
-from typing import Mapping, Callable, MutableMapping, Union, Set, cast
-from qutebrowser.qt import QtGui
+import functools
+from typing import Callable, Mapping, MutableMapping, Set, Union, cast
-from qutebrowser.commands import runners
-from qutebrowser.keyinput import modeparsers, basekeyparser
-from qutebrowser.config import config
from qutebrowser.api import cmdutils
-from qutebrowser.utils import usertypes, log, objreg, utils
from qutebrowser.browser import hints
+from qutebrowser.commands import runners
+from qutebrowser.config import config
+from qutebrowser.keyinput import basekeyparser, modeparsers
from qutebrowser.misc import objects
-from qutebrowser.qt import QtCore
+from qutebrowser.qt import QtCore, QtGui
+from qutebrowser.utils import log, objreg, usertypes, utils
INPUT_MODES = [usertypes.KeyMode.insert, usertypes.KeyMode.passthrough]
PROMPT_MODES = [usertypes.KeyMode.prompt, usertypes.KeyMode.yesno]
diff --git a/qutebrowser/keyinput/modeparsers.py b/qutebrowser/keyinput/modeparsers.py
index cd75cdebf..f4c2feb31 100644
--- a/qutebrowser/keyinput/modeparsers.py
+++ b/qutebrowser/keyinput/modeparsers.py
@@ -23,16 +23,16 @@ Module attributes:
STARTCHARS: Possible chars for starting a commandline input.
"""
-import traceback
import enum
+import traceback
from typing import TYPE_CHECKING, Sequence
from qutebrowser.browser import hints
from qutebrowser.commands import cmdexc
from qutebrowser.config import config
from qutebrowser.keyinput import basekeyparser, keyutils, macros
-from qutebrowser.utils import usertypes, log, message, objreg, utils
-from qutebrowser.qt import QtGui, QtCore
+from qutebrowser.qt import QtCore, QtGui
+from qutebrowser.utils import log, message, objreg, usertypes, utils
if TYPE_CHECKING:
from qutebrowser.commands import runners
diff --git a/qutebrowser/mainwindow/mainwindow.py b/qutebrowser/mainwindow/mainwindow.py
index b1848e4a2..2f89341c2 100644
--- a/qutebrowser/mainwindow/mainwindow.py
+++ b/qutebrowser/mainwindow/mainwindow.py
@@ -19,25 +19,31 @@
"""The main window of qutebrowser."""
-import binascii
import base64
-import itertools
+import binascii
import functools
+import itertools
from typing import List, MutableSequence, Optional, Tuple, cast
-from qutebrowser.qt import QtWidgets, QtGui
-from qutebrowser.commands import runners
from qutebrowser.api import cmdutils
+from qutebrowser.browser import downloads, downloadview, hints
+from qutebrowser.commands import runners
+from qutebrowser.completion import completer, completionwidget
from qutebrowser.config import config, configfiles, stylesheet, websettings
-from qutebrowser.utils import (message, log, usertypes, qtutils, objreg, utils,
- jinja, debug)
-from qutebrowser.mainwindow import messageview, prompt
-from qutebrowser.completion import completionwidget, completer
from qutebrowser.keyinput import modeman
-from qutebrowser.browser import downloadview, hints, downloads
-from qutebrowser.misc import crashsignal, keyhintwidget, sessions, objects
-from qutebrowser.qt import QtCore, sip
-
+from qutebrowser.mainwindow import messageview, prompt
+from qutebrowser.misc import crashsignal, keyhintwidget, objects, sessions
+from qutebrowser.qt import QtCore, QtGui, QtWidgets, sip
+from qutebrowser.utils import (
+ debug,
+ jinja,
+ log,
+ message,
+ objreg,
+ qtutils,
+ usertypes,
+ utils,
+)
win_id_gen = itertools.count(0)
diff --git a/qutebrowser/mainwindow/messageview.py b/qutebrowser/mainwindow/messageview.py
index 120f34eea..6343201cd 100644
--- a/qutebrowser/mainwindow/messageview.py
+++ b/qutebrowser/mainwindow/messageview.py
@@ -22,8 +22,8 @@
from typing import MutableSequence, Optional
from qutebrowser.config import config, stylesheet
+from qutebrowser.qt import QtCore, QtWidgets
from qutebrowser.utils import usertypes
-from qutebrowser.qt import QtWidgets, QtCore
class Message(QtWidgets.QLabel):
diff --git a/qutebrowser/mainwindow/prompt.py b/qutebrowser/mainwindow/prompt.py
index 09376a7c5..bc62cbeaa 100644
--- a/qutebrowser/mainwindow/prompt.py
+++ b/qutebrowser/mainwindow/prompt.py
@@ -19,21 +19,19 @@
"""Showing prompts above the statusbar."""
-import os.path
-import html
import collections
-import functools
import dataclasses
+import functools
+import html
+import os.path
from typing import Deque, MutableSequence, Optional, cast
+from qutebrowser.api import cmdutils
from qutebrowser.browser import downloads
-from qutebrowser.config import config, configtypes, configexc, stylesheet
-from qutebrowser.utils import usertypes, log, utils, qtutils, objreg, message
+from qutebrowser.config import config, configexc, configtypes, stylesheet
from qutebrowser.keyinput import modeman
-from qutebrowser.api import cmdutils
-from qutebrowser.utils import urlmatch
-from qutebrowser.qt import QtWidgets, QtCore
-
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import log, message, objreg, qtutils, urlmatch, usertypes, utils
prompt_queue = cast('PromptQueue', None)
diff --git a/qutebrowser/mainwindow/statusbar/bar.py b/qutebrowser/mainwindow/statusbar/bar.py
index 6133a7f1b..868fd8f53 100644
--- a/qutebrowser/mainwindow/statusbar/bar.py
+++ b/qutebrowser/mainwindow/statusbar/bar.py
@@ -19,17 +19,24 @@
"""The main statusbar widget."""
-import enum
import dataclasses
+import enum
from qutebrowser.browser import browsertab
from qutebrowser.config import config, stylesheet
from qutebrowser.keyinput import modeman
-from qutebrowser.utils import usertypes, log, objreg, utils
-from qutebrowser.mainwindow.statusbar import (backforward, command, progress,
- keystring, percentage, url,
- tabindex, textbase)
-from qutebrowser.qt import QtWidgets, QtCore
+from qutebrowser.mainwindow.statusbar import (
+ backforward,
+ command,
+ keystring,
+ percentage,
+ progress,
+ tabindex,
+ textbase,
+ url,
+)
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import log, objreg, usertypes, utils
@dataclasses.dataclass
diff --git a/qutebrowser/mainwindow/statusbar/command.py b/qutebrowser/mainwindow/statusbar/command.py
index 80319a9c9..4a3e826f1 100644
--- a/qutebrowser/mainwindow/statusbar/command.py
+++ b/qutebrowser/mainwindow/statusbar/command.py
@@ -18,15 +18,13 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
"""The commandline in the statusbar."""
-from qutebrowser.qt import QtWidgets, QtGui
-
-from qutebrowser.keyinput import modeman, modeparsers
from qutebrowser.api import cmdutils
+from qutebrowser.config import config
+from qutebrowser.keyinput import modeman, modeparsers
from qutebrowser.misc import cmdhistory, editor
from qutebrowser.misc import miscwidgets as misc
-from qutebrowser.utils import usertypes, log, objreg, message, utils
-from qutebrowser.config import config
-from qutebrowser.qt import QtCore
+from qutebrowser.qt import QtCore, QtGui, QtWidgets
+from qutebrowser.utils import log, message, objreg, usertypes, utils
class Command(misc.MinimalLineEditMixin, misc.CommandLineEdit):
diff --git a/qutebrowser/mainwindow/statusbar/keystring.py b/qutebrowser/mainwindow/statusbar/keystring.py
index 472d6d5bc..78cbb32d4 100644
--- a/qutebrowser/mainwindow/statusbar/keystring.py
+++ b/qutebrowser/mainwindow/statusbar/keystring.py
@@ -19,9 +19,8 @@
"""Keychain string displayed in the statusbar."""
-from qutebrowser.qt import QtCore
-
from qutebrowser.mainwindow.statusbar import textbase
+from qutebrowser.qt import QtCore
from qutebrowser.utils import usertypes
diff --git a/qutebrowser/mainwindow/statusbar/percentage.py b/qutebrowser/mainwindow/statusbar/percentage.py
index 7c42330dc..24435b84b 100644
--- a/qutebrowser/mainwindow/statusbar/percentage.py
+++ b/qutebrowser/mainwindow/statusbar/percentage.py
@@ -21,8 +21,8 @@
from qutebrowser.mainwindow.statusbar import textbase
from qutebrowser.misc import throttle
-from qutebrowser.utils import utils
from qutebrowser.qt import QtCore
+from qutebrowser.utils import utils
class Percentage(textbase.TextBase):
diff --git a/qutebrowser/mainwindow/statusbar/progress.py b/qutebrowser/mainwindow/statusbar/progress.py
index d8c327798..47818e89b 100644
--- a/qutebrowser/mainwindow/statusbar/progress.py
+++ b/qutebrowser/mainwindow/statusbar/progress.py
@@ -20,8 +20,8 @@
"""The progress bar in the statusbar."""
from qutebrowser.config import stylesheet
-from qutebrowser.utils import utils, usertypes
-from qutebrowser.qt import QtWidgets, QtCore
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import usertypes, utils
class Progress(QtWidgets.QProgressBar):
diff --git a/qutebrowser/mainwindow/statusbar/tabindex.py b/qutebrowser/mainwindow/statusbar/tabindex.py
index 664870215..ee965f6f2 100644
--- a/qutebrowser/mainwindow/statusbar/tabindex.py
+++ b/qutebrowser/mainwindow/statusbar/tabindex.py
@@ -19,9 +19,8 @@
"""TabIndex displayed in the statusbar."""
-from qutebrowser.qt import QtCore
-
from qutebrowser.mainwindow.statusbar import textbase
+from qutebrowser.qt import QtCore
class TabIndex(textbase.TextBase):
diff --git a/qutebrowser/mainwindow/statusbar/textbase.py b/qutebrowser/mainwindow/statusbar/textbase.py
index 4fa0dc332..684d4e010 100644
--- a/qutebrowser/mainwindow/statusbar/textbase.py
+++ b/qutebrowser/mainwindow/statusbar/textbase.py
@@ -19,8 +19,7 @@
"""Base text widgets for statusbar."""
-from qutebrowser.qt import QtWidgets, QtGui, QtCore
-
+from qutebrowser.qt import QtCore, QtGui, QtWidgets
from qutebrowser.utils import qtutils, utils
diff --git a/qutebrowser/mainwindow/statusbar/url.py b/qutebrowser/mainwindow/statusbar/url.py
index 21a203acd..401f71bdb 100644
--- a/qutebrowser/mainwindow/statusbar/url.py
+++ b/qutebrowser/mainwindow/statusbar/url.py
@@ -21,10 +21,10 @@
import enum
-from qutebrowser.mainwindow.statusbar import textbase
from qutebrowser.config import stylesheet
-from qutebrowser.utils import usertypes, urlutils
+from qutebrowser.mainwindow.statusbar import textbase
from qutebrowser.qt import QtCore
+from qutebrowser.utils import urlutils, usertypes
class UrlType(enum.Enum):
diff --git a/qutebrowser/mainwindow/tabbedbrowser.py b/qutebrowser/mainwindow/tabbedbrowser.py
index 113c60410..71d5ae59c 100644
--- a/qutebrowser/mainwindow/tabbedbrowser.py
+++ b/qutebrowser/mainwindow/tabbedbrowser.py
@@ -20,21 +20,38 @@
"""The main tabbed browser widget."""
import collections
+import dataclasses
+import datetime
import functools
import weakref
-import datetime
-import dataclasses
from typing import (
- Any, Deque, List, Mapping, MutableMapping, MutableSequence, Optional, Tuple)
-
+ Any,
+ Deque,
+ List,
+ Mapping,
+ MutableMapping,
+ MutableSequence,
+ Optional,
+ Tuple,
+)
+
+from qutebrowser.browser import browsertab, history, signalfilter
from qutebrowser.config import config
from qutebrowser.keyinput import modeman
-from qutebrowser.mainwindow import tabwidget, mainwindow
-from qutebrowser.browser import signalfilter, browsertab, history
-from qutebrowser.utils import (log, usertypes, utils, qtutils, objreg,
- urlutils, message, jinja, version)
+from qutebrowser.mainwindow import mainwindow, tabwidget
from qutebrowser.misc import quitter
-from qutebrowser.qt import QtWidgets, QtCore
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import (
+ jinja,
+ log,
+ message,
+ objreg,
+ qtutils,
+ urlutils,
+ usertypes,
+ utils,
+ version,
+)
@dataclasses.dataclass
diff --git a/qutebrowser/mainwindow/tabwidget.py b/qutebrowser/mainwindow/tabwidget.py
index 092e69054..4ae0d0b8c 100644
--- a/qutebrowser/mainwindow/tabwidget.py
+++ b/qutebrowser/mainwindow/tabwidget.py
@@ -19,16 +19,16 @@
"""The tab widget used for TabbedBrowser from browser.py."""
-import functools
import contextlib
import dataclasses
+import functools
from typing import Optional, cast
-from qutebrowser.utils import qtutils, objreg, utils, usertypes, log
-from qutebrowser.config import config, stylesheet
-from qutebrowser.misc import objects, debugcachestats
from qutebrowser.browser import browsertab
-from qutebrowser.qt import QtWidgets, QtGui, QtCore
+from qutebrowser.config import config, stylesheet
+from qutebrowser.misc import debugcachestats, objects
+from qutebrowser.qt import QtCore, QtGui, QtWidgets
+from qutebrowser.utils import log, objreg, qtutils, usertypes, utils
class TabWidget(QtWidgets.QTabWidget):
diff --git a/qutebrowser/misc/backendproblem.py b/qutebrowser/misc/backendproblem.py
index 46f11f1e3..ae9237c06 100644
--- a/qutebrowser/misc/backendproblem.py
+++ b/qutebrowser/misc/backendproblem.py
@@ -19,29 +19,27 @@
"""Dialogs shown when there was a problem with a backend choice."""
-import os
-import sys
+import argparse
+import dataclasses
+import enum
import functools
import html
-import enum
+import os
import shutil
-import argparse
-import dataclasses
-from typing import Any, List, Sequence, Tuple, Optional
+import sys
+from typing import Any, List, Optional, Sequence, Tuple
+from qutebrowser.config import config, configfiles
+from qutebrowser.misc import msgbox, objects, quitter, savemanager
from qutebrowser.qt import (
- QtWidgets,
- QtWebKitWidgets,
- QtWebKit,
- QtWebEngineWidgets,
- QtNetwork,
QtCore,
+ QtNetwork,
+ QtWebEngineWidgets,
+ QtWebKit,
+ QtWebKitWidgets,
+ QtWidgets,
)
-
-from qutebrowser.config import config, configfiles
-from qutebrowser.utils import (usertypes, version, qtutils, log, utils,
- standarddir)
-from qutebrowser.misc import objects, msgbox, savemanager, quitter
+from qutebrowser.utils import log, qtutils, standarddir, usertypes, utils, version
class _Result(enum.IntEnum):
diff --git a/qutebrowser/misc/cmdhistory.py b/qutebrowser/misc/cmdhistory.py
index 9eceb0159..8568d3fa2 100644
--- a/qutebrowser/misc/cmdhistory.py
+++ b/qutebrowser/misc/cmdhistory.py
@@ -21,9 +21,9 @@
from typing import MutableSequence
-from qutebrowser.utils import usertypes, log, standarddir, objreg
from qutebrowser.misc import lineparser
from qutebrowser.qt import QtCore
+from qutebrowser.utils import log, objreg, standarddir, usertypes
class HistoryEmptyError(Exception):
diff --git a/qutebrowser/misc/consolewidget.py b/qutebrowser/misc/consolewidget.py
index 951e630b8..d657055d4 100644
--- a/qutebrowser/misc/consolewidget.py
+++ b/qutebrowser/misc/consolewidget.py
@@ -19,16 +19,14 @@
"""Debugging console."""
-import sys
import code
+import sys
from typing import MutableSequence
-from qutebrowser.qt import QtWidgets, QtGui
from qutebrowser.config import stylesheet
from qutebrowser.misc import cmdhistory, miscwidgets
-from qutebrowser.utils import utils, objreg
-from qutebrowser.qt import QtCore
-
+from qutebrowser.qt import QtCore, QtGui, QtWidgets
+from qutebrowser.utils import objreg, utils
console_widget = None
diff --git a/qutebrowser/misc/crashdialog.py b/qutebrowser/misc/crashdialog.py
index a22bc85a2..012004a96 100644
--- a/qutebrowser/misc/crashdialog.py
+++ b/qutebrowser/misc/crashdialog.py
@@ -19,24 +19,30 @@
"""The dialog which gets shown when qutebrowser crashes."""
-import re
+import datetime
+import enum
+import fnmatch
+import getpass
+import html
import os
+import re
import sys
-import html
-import getpass
-import fnmatch
import traceback
-import datetime
-import enum
from typing import List, Tuple
import qutebrowser
-from qutebrowser.utils import version, log, utils
-from qutebrowser.misc import (miscwidgets, autoupdate, msgbox, httpclient,
- pastebin, objects)
-from qutebrowser.config import config, configfiles
from qutebrowser.browser import history
-from qutebrowser.qt import QtWidgets, QtCore
+from qutebrowser.config import config, configfiles
+from qutebrowser.misc import (
+ autoupdate,
+ httpclient,
+ miscwidgets,
+ msgbox,
+ objects,
+ pastebin,
+)
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import log, utils, version
class Result(enum.IntEnum):
diff --git a/qutebrowser/misc/crashsignal.py b/qutebrowser/misc/crashsignal.py
index 2daffcd26..607e4384f 100644
--- a/qutebrowser/misc/crashsignal.py
+++ b/qutebrowser/misc/crashsignal.py
@@ -19,24 +19,24 @@
"""Handlers for crashes and OS signals."""
+import argparse
+import bdb
+import dataclasses
+import faulthandler
+import functools
import os
import os.path
-import sys
-import bdb
import pdb # noqa: T002
import signal
-import argparse
-import functools
+import sys
import threading
-import faulthandler
-import dataclasses
-from typing import TYPE_CHECKING, Optional, MutableMapping, cast, List
-from qutebrowser.qt import QtWidgets
+from typing import TYPE_CHECKING, List, MutableMapping, Optional, cast
from qutebrowser.api import cmdutils
-from qutebrowser.misc import earlyinit, crashdialog, ipc, objects
-from qutebrowser.utils import usertypes, standarddir, log, objreg, debug, utils
-from qutebrowser.qt import QtCore, sip
+from qutebrowser.misc import crashdialog, earlyinit, ipc, objects
+from qutebrowser.qt import QtCore, QtWidgets, sip
+from qutebrowser.utils import debug, log, objreg, standarddir, usertypes, utils
+
if TYPE_CHECKING:
from qutebrowser.misc import quitter
diff --git a/qutebrowser/misc/earlyinit.py b/qutebrowser/misc/earlyinit.py
index 1b4360156..0d4138d7e 100644
--- a/qutebrowser/misc/earlyinit.py
+++ b/qutebrowser/misc/earlyinit.py
@@ -29,12 +29,13 @@ try:
except ImportError:
hunter = None
-import sys
+import datetime
import faulthandler
-import traceback
-import signal
import importlib
-import datetime
+import signal
+import sys
+import traceback
+
try:
import tkinter
except ImportError:
@@ -78,7 +79,7 @@ def _die(message, exception=None):
message: The message to display.
exception: The exception object if we're handling an exception.
"""
- from qutebrowser.qt import QtWidgets, QtCore
+ from qutebrowser.qt import QtCore, QtWidgets
if (('--debug' in sys.argv or '--no-err-windows' in sys.argv) and
exception is not None):
print(file=sys.stderr)
diff --git a/qutebrowser/misc/editor.py b/qutebrowser/misc/editor.py
index a80be1669..68bc68ff4 100644
--- a/qutebrowser/misc/editor.py
+++ b/qutebrowser/misc/editor.py
@@ -23,9 +23,9 @@ import os
import tempfile
from qutebrowser.config import config
-from qutebrowser.utils import message, log
from qutebrowser.misc import guiprocess
from qutebrowser.qt import QtCore, sip
+from qutebrowser.utils import log, message
class ExternalEditor(QtCore.QObject):
diff --git a/qutebrowser/misc/elf.py b/qutebrowser/misc/elf.py
index 2779bf2d3..01ac70225 100644
--- a/qutebrowser/misc/elf.py
+++ b/qutebrowser/misc/elf.py
@@ -59,16 +59,15 @@ This is a "best effort" parser. If it errors out, we instead end up relying on t
PyQtWebEngine version, which is the next best thing.
"""
-import struct
-import enum
-import re
import dataclasses
+import enum
import mmap
import pathlib
-from typing import Any, IO, ClassVar, Dict, Optional, Tuple, cast
+import re
+import struct
+from typing import IO, Any, ClassVar, Dict, Optional, Tuple, cast
from qutebrowser.qt import QtCore
-
from qutebrowser.utils import log, version
diff --git a/qutebrowser/misc/guiprocess.py b/qutebrowser/misc/guiprocess.py
index 32f8cb99d..3123a6231 100644
--- a/qutebrowser/misc/guiprocess.py
+++ b/qutebrowser/misc/guiprocess.py
@@ -23,13 +23,12 @@ import dataclasses
import locale
import shlex
import shutil
-from typing import Mapping, Sequence, Dict, Optional
+from typing import Dict, Mapping, Optional, Sequence
-from qutebrowser.utils import message, log, utils, usertypes, version
-from qutebrowser.api import cmdutils, apitypes
+from qutebrowser.api import apitypes, cmdutils
from qutebrowser.completion.models import miscmodels
from qutebrowser.qt import QtCore
-
+from qutebrowser.utils import log, message, usertypes, utils, version
all_processes: Dict[int, Optional['GUIProcess']] = {}
last_pid: Optional[int] = None
diff --git a/qutebrowser/misc/httpclient.py b/qutebrowser/misc/httpclient.py
index 5f1a1a37d..e4b0e4809 100644
--- a/qutebrowser/misc/httpclient.py
+++ b/qutebrowser/misc/httpclient.py
@@ -23,8 +23,8 @@ import functools
import urllib.parse
from typing import MutableMapping
+from qutebrowser.qt import QtCore, QtNetwork
from qutebrowser.utils import log
-from qutebrowser.qt import QtNetwork, QtCore
class HTTPRequest(QtNetwork.QNetworkRequest):
diff --git a/qutebrowser/misc/ipc.py b/qutebrowser/misc/ipc.py
index c372837de..7a5067b42 100644
--- a/qutebrowser/misc/ipc.py
+++ b/qutebrowser/misc/ipc.py
@@ -19,17 +19,16 @@
"""Utilities for IPC with existing instances."""
-import os
-import time
-import json
-import getpass
import binascii
+import getpass
import hashlib
+import json
+import os
+import time
import qutebrowser
-from qutebrowser.utils import log, usertypes, error, standarddir, utils
-from qutebrowser.qt import QtNetwork, QtCore, sip
-
+from qutebrowser.qt import QtCore, QtNetwork, sip
+from qutebrowser.utils import error, log, standarddir, usertypes, utils
CONNECT_TIMEOUT = 100 # timeout for connecting/disconnecting
WRITE_TIMEOUT = 1000
diff --git a/qutebrowser/misc/keyhintwidget.py b/qutebrowser/misc/keyhintwidget.py
index ae2b22720..37822bff5 100644
--- a/qutebrowser/misc/keyhintwidget.py
+++ b/qutebrowser/misc/keyhintwidget.py
@@ -24,15 +24,15 @@ with each possible completion of that keystring and the corresponding command.
It is intended to help discoverability of keybindings.
"""
-import html
import fnmatch
+import html
import re
from qutebrowser.config import config, stylesheet
-from qutebrowser.utils import utils, usertypes
-from qutebrowser.misc import objects
from qutebrowser.keyinput import keyutils
-from qutebrowser.qt import QtWidgets, QtCore
+from qutebrowser.misc import objects
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import usertypes, utils
class KeyHintView(QtWidgets.QLabel):
diff --git a/qutebrowser/misc/lineparser.py b/qutebrowser/misc/lineparser.py
index 09e3c3af2..6a3c2270e 100644
--- a/qutebrowser/misc/lineparser.py
+++ b/qutebrowser/misc/lineparser.py
@@ -19,14 +19,14 @@
"""Parser for line-based files like histories."""
+import contextlib
import os
import os.path
-import contextlib
from typing import Sequence
-from qutebrowser.utils import log, utils, qtutils
from qutebrowser.config import config
from qutebrowser.qt import QtCore
+from qutebrowser.utils import log, qtutils, utils
class BaseLineParser(QtCore.QObject):
diff --git a/qutebrowser/misc/miscwidgets.py b/qutebrowser/misc/miscwidgets.py
index 381de9cbe..e532ff320 100644
--- a/qutebrowser/misc/miscwidgets.py
+++ b/qutebrowser/misc/miscwidgets.py
@@ -21,12 +21,12 @@
from typing import Optional
-from qutebrowser.config import config, configfiles
-from qutebrowser.utils import utils, log, usertypes
-from qutebrowser.misc import cmdhistory
from qutebrowser.browser import inspector
+from qutebrowser.config import config, configfiles
from qutebrowser.keyinput import keyutils, modeman
-from qutebrowser.qt import QtWidgets, QtGui, QtCore
+from qutebrowser.misc import cmdhistory
+from qutebrowser.qt import QtCore, QtGui, QtWidgets
+from qutebrowser.utils import log, usertypes, utils
class MinimalLineEditMixin:
diff --git a/qutebrowser/misc/msgbox.py b/qutebrowser/misc/msgbox.py
index f03eda8e3..b6acb322a 100644
--- a/qutebrowser/misc/msgbox.py
+++ b/qutebrowser/misc/msgbox.py
@@ -19,9 +19,8 @@
"""Convenience functions to show message boxes."""
-from qutebrowser.qt import QtWidgets, QtCore
-
from qutebrowser.misc import objects
+from qutebrowser.qt import QtCore, QtWidgets
from qutebrowser.utils import log
diff --git a/qutebrowser/misc/objects.py b/qutebrowser/misc/objects.py
index e270e80a6..5a40a1926 100644
--- a/qutebrowser/misc/objects.py
+++ b/qutebrowser/misc/objects.py
@@ -26,9 +26,9 @@ import argparse
from typing import TYPE_CHECKING, Any, Dict, Set, Union, cast
if TYPE_CHECKING:
+ from qutebrowser.commands import command
from qutebrowser.qt import QtWidgets
from qutebrowser.utils import usertypes
- from qutebrowser.commands import command
class NoBackend:
diff --git a/qutebrowser/misc/quitter.py b/qutebrowser/misc/quitter.py
index 4c7cca233..4b905ec6a 100644
--- a/qutebrowser/misc/quitter.py
+++ b/qutebrowser/misc/quitter.py
@@ -19,17 +19,18 @@
"""Helpers related to quitting qutebrowser cleanly."""
+import argparse
+import atexit
+import functools
+import json
import os
import os.path
-import sys
-import json
-import atexit
import shutil
-import argparse
-import tokenize
-import functools
import subprocess
+import sys
+import tokenize
from typing import Iterable, Mapping, MutableSequence, Sequence, cast
+
try:
import hunter
except ImportError:
@@ -37,12 +38,11 @@ except ImportError:
import qutebrowser
from qutebrowser.api import cmdutils
-from qutebrowser.utils import log
-from qutebrowser.misc import sessions, ipc, objects
-from qutebrowser.mainwindow import prompt
from qutebrowser.completion.models import miscmodels
+from qutebrowser.mainwindow import prompt
+from qutebrowser.misc import ipc, objects, sessions
from qutebrowser.qt import QtCore
-
+from qutebrowser.utils import log
instance = cast('Quitter', None)
diff --git a/qutebrowser/misc/savemanager.py b/qutebrowser/misc/savemanager.py
index 920ee4982..481061f87 100644
--- a/qutebrowser/misc/savemanager.py
+++ b/qutebrowser/misc/savemanager.py
@@ -19,15 +19,15 @@
"""Saving things to disk periodically."""
-import os.path
import collections
+import os.path
from typing import MutableMapping
-from qutebrowser.config import config
from qutebrowser.api import cmdutils
-from qutebrowser.utils import utils, log, message, usertypes, error
+from qutebrowser.config import config
from qutebrowser.misc import objects
from qutebrowser.qt import QtCore
+from qutebrowser.utils import error, log, message, usertypes, utils
class Saveable:
diff --git a/qutebrowser/misc/sessions.py b/qutebrowser/misc/sessions.py
index 0a07a0cd3..c34ae282a 100644
--- a/qutebrowser/misc/sessions.py
+++ b/qutebrowser/misc/sessions.py
@@ -19,24 +19,32 @@
"""Management of sessions - saved tabs/windows."""
+import itertools
import os
import os.path
-import itertools
-import urllib
-import shutil
import pathlib
+import shutil
+import urllib
from typing import Any, Iterable, MutableMapping, MutableSequence, Optional, Union, cast
+
import yaml
-from qutebrowser.utils import (standarddir, objreg, qtutils, log, message,
- utils, usertypes, version)
from qutebrowser.api import cmdutils
-from qutebrowser.config import config, configfiles
from qutebrowser.completion.models import miscmodels
+from qutebrowser.config import config, configfiles
from qutebrowser.mainwindow import mainwindow
-from qutebrowser.qt import QtCore, sip
from qutebrowser.misc import objects, throttle
-
+from qutebrowser.qt import QtCore, sip
+from qutebrowser.utils import (
+ log,
+ message,
+ objreg,
+ qtutils,
+ standarddir,
+ usertypes,
+ utils,
+ version,
+)
_JsonType = MutableMapping[str, Any]
diff --git a/qutebrowser/misc/sql.py b/qutebrowser/misc/sql.py
index a3a560a8c..46516ded1 100644
--- a/qutebrowser/misc/sql.py
+++ b/qutebrowser/misc/sql.py
@@ -25,7 +25,7 @@ import dataclasses
import types
from typing import Any, Dict, Iterator, List, Mapping, MutableSequence, Optional, Type
-from qutebrowser.qt import QtSql, QtCore, sip
+from qutebrowser.qt import QtCore, QtSql, sip
from qutebrowser.utils import debug, log
diff --git a/qutebrowser/misc/throttle.py b/qutebrowser/misc/throttle.py
index be4fa4d29..5c08187b6 100644
--- a/qutebrowser/misc/throttle.py
+++ b/qutebrowser/misc/throttle.py
@@ -24,7 +24,6 @@ import time
from typing import Any, Callable, Mapping, Optional, Sequence
from qutebrowser.qt import QtCore
-
from qutebrowser.utils import usertypes
diff --git a/qutebrowser/misc/utilcmds.py b/qutebrowser/misc/utilcmds.py
index d57c71d41..e36db006b 100644
--- a/qutebrowser/misc/utilcmds.py
+++ b/qutebrowser/misc/utilcmds.py
@@ -27,17 +27,19 @@ import sys
import traceback
from typing import Optional
-from qutebrowser.qt import QtWidgets, QtCore
-
+from qutebrowser.api import cmdutils
from qutebrowser.browser import qutescheme
-from qutebrowser.utils import log, objreg, usertypes, message, debug, utils
-from qutebrowser.keyinput import modeman
from qutebrowser.commands import runners
-from qutebrowser.api import cmdutils
+from qutebrowser.keyinput import modeman
from qutebrowser.misc import ( # pylint: disable=unused-import
- consolewidget, debugcachestats, objects, miscwidgets)
+ consolewidget,
+ debugcachestats,
+ miscwidgets,
+ objects,
+)
+from qutebrowser.qt import QtCore, QtWidgets, sip
+from qutebrowser.utils import debug, log, message, objreg, usertypes, utils
from qutebrowser.utils.version import pastebin_version
-from qutebrowser.qt import sip
@cmdutils.register(maxsplit=1, no_cmd_split=True, no_replace_variables=True)
diff --git a/qutebrowser/qt.py b/qutebrowser/qt.py
index 933d09054..61a310a54 100644
--- a/qutebrowser/qt.py
+++ b/qutebrowser/qt.py
@@ -44,15 +44,17 @@ except ImportError:
# pylint: disable=ungrouped-imports
if PyQt5:
- from PyQt5 import QtCore
- from PyQt5 import QtDBus
- from PyQt5 import QtGui
- from PyQt5 import QtNetwork
- from PyQt5 import QtPrintSupport
- from PyQt5 import QtQml
- from PyQt5 import QtSql
- from PyQt5 import QtWidgets
- from PyQt5 import QtTest
+ from PyQt5 import (
+ QtCore,
+ QtDBus,
+ QtGui,
+ QtNetwork,
+ QtPrintSupport,
+ QtQml,
+ QtSql,
+ QtTest,
+ QtWidgets,
+ )
elif PyQt6:
from PyQt6 import QtCore # type: ignore[no-redef]
from PyQt6 import QtDBus # type: ignore[no-redef]
@@ -61,14 +63,12 @@ elif PyQt6:
from PyQt6 import QtPrintSupport # type: ignore[no-redef]
from PyQt6 import QtQml # type: ignore[no-redef]
from PyQt6 import QtSql # type: ignore[no-redef]
- from PyQt6 import QtWidgets # type: ignore[no-redef]
from PyQt6 import QtTest # type: ignore[no-redef]
+ from PyQt6 import QtWidgets # type: ignore[no-redef]
try:
if PyQt5:
- from PyQt5 import QtWebEngine
- from PyQt5 import QtWebEngineCore
- from PyQt5 import QtWebEngineWidgets
+ from PyQt5 import QtWebEngine, QtWebEngineCore, QtWebEngineWidgets
elif PyQt6:
from PyQt6 import QtWebEngine # type: ignore[no-redef]
from PyQt6 import QtWebEngineCore # type: ignore[no-redef]
@@ -80,8 +80,7 @@ except ImportError:
try:
if PyQt5:
- from PyQt5 import QtWebKit
- from PyQt5 import QtWebKitWidgets
+ from PyQt5 import QtWebKit, QtWebKitWidgets
elif PyQt6:
from PyQt6 import QtWebKit # type: ignore[no-redef]
from PyQt6 import QtWebKitWidgets # type: ignore[no-redef]
diff --git a/qutebrowser/utils/debug.py b/qutebrowser/utils/debug.py
index e4cf0cc28..6d7c23921 100644
--- a/qutebrowser/utils/debug.py
+++ b/qutebrowser/utils/debug.py
@@ -19,18 +19,27 @@
"""Utilities used for debugging."""
-import re
+import datetime
+import functools
import inspect
import logging
-import functools
-import datetime
+import re
import types
from typing import (
- Any, Callable, List, Mapping, MutableSequence, Optional, Sequence, Type, Union)
+ Any,
+ Callable,
+ List,
+ Mapping,
+ MutableSequence,
+ Optional,
+ Sequence,
+ Type,
+ Union,
+)
-from qutebrowser.utils import log, utils, qtutils, objreg
from qutebrowser.misc import objects
from qutebrowser.qt import QtCore, sip
+from qutebrowser.utils import log, objreg, qtutils, utils
def log_events(klass: Type[QtCore.QObject]) -> Type[QtCore.QObject]:
diff --git a/qutebrowser/utils/error.py b/qutebrowser/utils/error.py
index dcb401a7f..b9202e57a 100644
--- a/qutebrowser/utils/error.py
+++ b/qutebrowser/utils/error.py
@@ -20,7 +20,6 @@
"""Tools related to error printing/displaying."""
from qutebrowser.qt import QtWidgets
-
from qutebrowser.utils import log, utils
diff --git a/qutebrowser/utils/jinja.py b/qutebrowser/utils/jinja.py
index 8d1d8ae64..fa19642af 100644
--- a/qutebrowser/utils/jinja.py
+++ b/qutebrowser/utils/jinja.py
@@ -19,21 +19,20 @@
"""Utilities related to jinja2."""
+import contextlib
+import functools
+import html
import os
import os.path
import posixpath
-import functools
-import contextlib
-import html
from typing import Any, Callable, FrozenSet, Iterator, List, Set, Tuple
import jinja2
import jinja2.nodes
-from qutebrowser.qt import QtCore
-from qutebrowser.utils import utils, urlutils, log, qtutils, resources
from qutebrowser.misc import debugcachestats
-
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import log, qtutils, resources, urlutils, utils
html_fallback = """
<!DOCTYPE html>
diff --git a/qutebrowser/utils/log.py b/qutebrowser/utils/log.py
index d7263a726..6d1c951e9 100644
--- a/qutebrowser/utils/log.py
+++ b/qutebrowser/utils/log.py
@@ -19,21 +19,30 @@
"""Loggers and utilities related to logging."""
-import os
-import sys
-import html as pyhtml
-import logging
-import contextlib
+import argparse
import collections
+import contextlib
import copy
import faulthandler
+import html as pyhtml
+import inspect
+import json
+import logging
+import os
+import sys
import traceback
import warnings
-import json
-import inspect
-import argparse
-from typing import (TYPE_CHECKING, Any, Iterator, Mapping, MutableSequence,
- Optional, Set, Tuple, Union)
+from typing import (
+ TYPE_CHECKING,
+ Any,
+ Iterator,
+ Mapping,
+ MutableSequence,
+ Optional,
+ Set,
+ Tuple,
+ Union,
+)
from qutebrowser.qt import QtCore
@@ -44,9 +53,10 @@ except ImportError:
colorama = None
if TYPE_CHECKING:
- from qutebrowser.config import config as configmodule
from typing import TextIO
+ from qutebrowser.config import config as configmodule
+
_log_inited = False
_args = None
diff --git a/qutebrowser/utils/message.py b/qutebrowser/utils/message.py
index 93b2cc33b..9d403a8a5 100644
--- a/qutebrowser/utils/message.py
+++ b/qutebrowser/utils/message.py
@@ -24,10 +24,10 @@
"""Message singleton so we don't have to define unneeded signals."""
import traceback
-from typing import Any, Callable, Iterable, List, Tuple, Union, Optional
+from typing import Any, Callable, Iterable, List, Optional, Tuple, Union
-from qutebrowser.utils import usertypes, log
from qutebrowser.qt import QtCore
+from qutebrowser.utils import log, usertypes
def _log_stack(typ: str, stack: str) -> None:
diff --git a/qutebrowser/utils/objreg.py b/qutebrowser/utils/objreg.py
index 9f794a5e8..c83feb532 100644
--- a/qutebrowser/utils/objreg.py
+++ b/qutebrowser/utils/objreg.py
@@ -22,12 +22,19 @@
import collections
import functools
-from typing import (TYPE_CHECKING, Any, Callable, MutableMapping, MutableSequence,
- Optional, Sequence, Union)
-from qutebrowser.qt import QtWidgets
-
+from typing import (
+ TYPE_CHECKING,
+ Any,
+ Callable,
+ MutableMapping,
+ MutableSequence,
+ Optional,
+ Sequence,
+ Union,
+)
+
+from qutebrowser.qt import QtCore, QtWidgets
from qutebrowser.utils import log, usertypes, utils
-from qutebrowser.qt import QtCore
if TYPE_CHECKING:
from qutebrowser.mainwindow import mainwindow
diff --git a/qutebrowser/utils/qtutils.py b/qutebrowser/utils/qtutils.py
index 45cb821a2..0d6416f28 100644
--- a/qutebrowser/utils/qtutils.py
+++ b/qutebrowser/utils/qtutils.py
@@ -28,12 +28,23 @@ Module attributes:
"""
+import contextlib
import io
import operator
-import contextlib
-from typing import (Any, AnyStr, TYPE_CHECKING, BinaryIO, IO, Iterator,
- Optional, Union, Tuple, cast)
-from qutebrowser.qt import QtWebKit, QtGui
+from typing import (
+ IO,
+ TYPE_CHECKING,
+ Any,
+ AnyStr,
+ BinaryIO,
+ Iterator,
+ Optional,
+ Tuple,
+ Union,
+ cast,
+)
+
+from qutebrowser.qt import QtGui, QtWebKit
if QtWebKit:
qWebKitVersion = QtWebKit.qWebKitVersion # noqa: N816
@@ -43,9 +54,8 @@ if TYPE_CHECKING:
from qutebrowser.qt import QtWebEngineWidgets
from qutebrowser.misc import objects
-from qutebrowser.utils import usertypes, utils
from qutebrowser.qt import QtCore
-
+from qutebrowser.utils import usertypes, utils
MAXVALS = {
'int': 2 ** 31 - 1,
diff --git a/qutebrowser/utils/standarddir.py b/qutebrowser/utils/standarddir.py
index b1372f109..5cd12c692 100644
--- a/qutebrowser/utils/standarddir.py
+++ b/qutebrowser/utils/standarddir.py
@@ -19,17 +19,16 @@
"""Utilities to get and initialize data/config paths."""
+import argparse
+import contextlib
+import enum
import os
import os.path
import sys
-import contextlib
-import enum
-import argparse
from typing import Iterator, Optional
-from qutebrowser.qt import QtWidgets, QtCore
-
-from qutebrowser.utils import log, debug, utils, version
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import debug, log, utils, version
# The cached locations
_locations = {}
diff --git a/qutebrowser/utils/urlmatch.py b/qutebrowser/utils/urlmatch.py
index f307b91c5..6ef5d1b13 100644
--- a/qutebrowser/utils/urlmatch.py
+++ b/qutebrowser/utils/urlmatch.py
@@ -29,14 +29,13 @@ https://chromium.googlesource.com/chromium/src/+/6f4a6681eae01c2036336c18b06303e
(October 10 2020, newest commit as per October 28th 2020)
"""
-import ipaddress
import fnmatch
+import ipaddress
import urllib.parse
from typing import Any, Optional, Tuple
from qutebrowser.qt import QtCore
-
-from qutebrowser.utils import utils, qtutils
+from qutebrowser.utils import qtutils, utils
class ParseError(Exception):
diff --git a/qutebrowser/utils/urlutils.py b/qutebrowser/utils/urlutils.py
index 3d022e95e..3a2efd079 100644
--- a/qutebrowser/utils/urlutils.py
+++ b/qutebrowser/utils/urlutils.py
@@ -19,22 +19,20 @@
"""Utils regarding URL handling."""
-import re
import base64
-import os.path
import ipaddress
+import mimetypes
+import os.path
import posixpath
+import re
import urllib.parse
-import mimetypes
-from typing import Optional, Tuple, Union, Iterable
-
-from qutebrowser.qt import QtNetwork, QtCore
+from typing import Iterable, Optional, Tuple, Union
from qutebrowser.api import cmdutils
-from qutebrowser.config import config
-from qutebrowser.utils import log, qtutils, message, utils
from qutebrowser.browser.network import pac
-
+from qutebrowser.config import config
+from qutebrowser.qt import QtCore, QtNetwork
+from qutebrowser.utils import log, message, qtutils, utils
# FIXME: we probably could raise some exceptions on invalid URLs
# https://github.com/qutebrowser/qutebrowser/issues/108
diff --git a/qutebrowser/utils/usertypes.py b/qutebrowser/utils/usertypes.py
index 0d825aedf..f97cf1928 100644
--- a/qutebrowser/utils/usertypes.py
+++ b/qutebrowser/utils/usertypes.py
@@ -19,16 +19,15 @@
"""Custom useful data types."""
+import dataclasses
+import enum
import html
import operator
-import enum
-import dataclasses
from typing import Optional, Sequence, TypeVar, Union
-from qutebrowser.qt import QtCore
+from qutebrowser.qt import QtCore
from qutebrowser.utils import log, qtutils, utils
-
_T = TypeVar('_T', bound=utils.Comparable)
diff --git a/qutebrowser/utils/utils.py b/qutebrowser/utils/utils.py
index fc3cf94f4..0650bcb18 100644
--- a/qutebrowser/utils/utils.py
+++ b/qutebrowser/utils/utils.py
@@ -19,22 +19,33 @@
"""Other utilities which don't fit anywhere else."""
+import contextlib
+import datetime
+import enum
+import functools
+import io
+import json
+import mimetypes
import os
import os.path
-import io
import re
+import shlex
import sys
-import enum
-import json
-import datetime
import traceback
-import functools
-import contextlib
-import shlex
-import mimetypes
-from typing import (Any, Callable, IO, Iterator,
- Optional, Sequence, Tuple, Type, Union,
- TypeVar, TYPE_CHECKING)
+from typing import (
+ IO,
+ TYPE_CHECKING,
+ Any,
+ Callable,
+ Iterator,
+ Optional,
+ Sequence,
+ Tuple,
+ Type,
+ TypeVar,
+ Union,
+)
+
try:
# Protocol was added in Python 3.8
from typing import Protocol
@@ -45,20 +56,21 @@ except ImportError: # pragma: no cover
"""Empty stub at runtime."""
+import yaml
+
from qutebrowser.qt import QtWidgets
-import yaml
try:
- from yaml import (CSafeLoader as YamlLoader,
- CSafeDumper as YamlDumper)
+ from yaml import CSafeDumper as YamlDumper
+ from yaml import CSafeLoader as YamlLoader
YAML_C_EXT = True
except ImportError: # pragma: no cover
- from yaml import (SafeLoader as YamlLoader, # type: ignore[misc]
- SafeDumper as YamlDumper)
+ from yaml import SafeDumper as YamlDumper
+ from yaml import SafeLoader as YamlLoader # type: ignore[misc]
YAML_C_EXT = False
+from qutebrowser.qt import QtCore, QtGui
from qutebrowser.utils import log
-from qutebrowser.qt import QtGui, QtCore
fake_clipboard = None
log_clipboard = False
@@ -596,7 +608,7 @@ def open_file(filename: str, cmdline: str = None) -> None:
# cmdutils -> command -> message -> usertypes
from qutebrowser.config import config
from qutebrowser.misc import guiprocess
- from qutebrowser.utils import version, message
+ from qutebrowser.utils import message, version
# the default program to open downloads with - will be empty string
# if we want to use the default
diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py
index 3870ea1cb..d6c116b1a 100644
--- a/qutebrowser/utils/version.py
+++ b/qutebrowser/utils/version.py
@@ -19,32 +19,33 @@
"""Utilities to show various version information."""
-import re
-import sys
-import glob
-import os.path
-import platform
-import subprocess
-import importlib
import collections
-import pathlib
import configparser
-import enum
+import dataclasses
import datetime
-import getpass
+import enum
import functools
-import dataclasses
+import getpass
+import glob
+import importlib
+import os.path
+import pathlib
+import platform
+import re
+import subprocess
+import sys
from typing import (
+ TYPE_CHECKING,
+ ClassVar,
+ Dict,
Mapping,
Optional,
Sequence,
Tuple,
- ClassVar,
- Dict,
cast,
- TYPE_CHECKING,
)
-from qutebrowser.qt import QtWidgets, QtWebKit, QtWebEngine, QtNetwork
+
+from qutebrowser.qt import QtNetwork, QtWebEngine, QtWebKit, QtWidgets
if QtWebKit:
qWebKitVersion = QtWebKit.qWebKitVersion # noqa: N816
@@ -58,11 +59,11 @@ else:
import qutebrowser
-from qutebrowser.utils import log, utils, standarddir, usertypes, message, resources
-from qutebrowser.misc import objects, earlyinit, sql, httpclient, pastebin, elf
from qutebrowser.browser import pdfjs
from qutebrowser.config import config
-from qutebrowser.qt import QtGui, QtCore, pyqt
+from qutebrowser.misc import earlyinit, elf, httpclient, objects, pastebin, sql
+from qutebrowser.qt import QtCore, QtGui, pyqt
+from qutebrowser.utils import log, message, resources, standarddir, usertypes, utils
if TYPE_CHECKING:
from qutebrowser.config import websettings
diff --git a/tests/end2end/conftest.py b/tests/end2end/conftest.py
index 70053dc70..9588ef27b 100644
--- a/tests/end2end/conftest.py
+++ b/tests/end2end/conftest.py
@@ -19,12 +19,12 @@
"""Things needed for end2end testing."""
-import re
+import operator
import pathlib
-import sys
-import shutil
import pstats
-import operator
+import re
+import shutil
+import sys
import pytest
@@ -32,13 +32,13 @@ pytest.register_assert_rewrite('end2end.fixtures')
# pylint: disable=unused-import
from end2end.fixtures.notificationserver import notification_server
-from end2end.fixtures.webserver import server, server_per_test, server2, ssl_server
-from end2end.fixtures.quteprocess import (quteproc_process, quteproc,
- quteproc_new)
+from end2end.fixtures.quteprocess import quteproc, quteproc_new, quteproc_process
from end2end.fixtures.testprocess import pytest_runtest_makereport
+from end2end.fixtures.webserver import server, server2, server_per_test, ssl_server
+from qutebrowser.qt import QtCore, QtWebEngine
+
# pylint: enable=unused-import
from qutebrowser.utils import qtutils, utils
-from qutebrowser.qt import QtWebEngine, QtCore
def pytest_configure(config):
diff --git a/tests/end2end/features/test_downloads_bdd.py b/tests/end2end/features/test_downloads_bdd.py
index b870cdc6a..b5d40ed48 100644
--- a/tests/end2end/features/test_downloads_bdd.py
+++ b/tests/end2end/features/test_downloads_bdd.py
@@ -18,12 +18,14 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import os
-import sys
import shlex
+import sys
import pytest
import pytest_bdd as bdd
+
from qutebrowser.qt import QtNetwork
+
bdd.scenarios('downloads.feature')
diff --git a/tests/end2end/features/test_editor_bdd.py b/tests/end2end/features/test_editor_bdd.py
index ce073ad3d..32303d423 100644
--- a/tests/end2end/features/test_editor_bdd.py
+++ b/tests/end2end/features/test_editor_bdd.py
@@ -17,19 +17,20 @@
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
-import sys
import json
-import textwrap
import os
import signal
+import sys
+import textwrap
import time
import pytest
import pytest_bdd as bdd
+
bdd.scenarios('editor.feature')
-from qutebrowser.utils import utils
from qutebrowser.qt import QtCore
+from qutebrowser.utils import utils
@bdd.when(bdd.parsers.parse('I setup a fake editor replacing "{text}" by '
diff --git a/tests/end2end/fixtures/notificationserver.py b/tests/end2end/fixtures/notificationserver.py
index 97200817c..a199325d5 100644
--- a/tests/end2end/fixtures/notificationserver.py
+++ b/tests/end2end/fixtures/notificationserver.py
@@ -20,13 +20,13 @@
import dataclasses
import itertools
from typing import Dict, List
-from qutebrowser.qt import QtGui
+
import pytest
from qutebrowser.browser.webengine import notification
+from qutebrowser.qt import QtCore, QtDBus, QtGui
from qutebrowser.utils import utils
from tests.helpers import testutils
-from qutebrowser.qt import QtDBus, QtCore
@dataclasses.dataclass
diff --git a/tests/end2end/fixtures/quteprocess.py b/tests/end2end/fixtures/quteprocess.py
index a15744c05..141b2162c 100644
--- a/tests/end2end/fixtures/quteprocess.py
+++ b/tests/end2end/fixtures/quteprocess.py
@@ -19,27 +19,26 @@
"""Fixtures to run qutebrowser in a QProcess and communicate."""
+import collections
+import contextlib
+import datetime
+import itertools
+import json
+import logging
import pathlib
import re
import sys
-import time
-import datetime
-import logging
import tempfile
-import contextlib
-import itertools
-import collections
-import json
+import time
-import yaml
import pytest
+import yaml
-from qutebrowser.misc import ipc
-from qutebrowser.utils import log, utils, javascript
-from helpers import testutils
from end2end.fixtures import testprocess
-from qutebrowser.qt import QtGui, QtCore
-
+from helpers import testutils
+from qutebrowser.misc import ipc
+from qutebrowser.qt import QtCore, QtGui
+from qutebrowser.utils import javascript, log, utils
instance_counter = itertools.count()
diff --git a/tests/end2end/fixtures/test_testprocess.py b/tests/end2end/fixtures/test_testprocess.py
index 730ec74ba..7ae8758e7 100644
--- a/tests/end2end/fixtures/test_testprocess.py
+++ b/tests/end2end/fixtures/test_testprocess.py
@@ -19,15 +19,15 @@
"""Test testprocess.Process."""
-import sys
-import time
import contextlib
import datetime
+import sys
+import time
import pytest
-from qutebrowser.qt import QtCore
from end2end.fixtures import testprocess
+from qutebrowser.qt import QtCore
pytestmark = [pytest.mark.not_frozen]
diff --git a/tests/end2end/fixtures/testprocess.py b/tests/end2end/fixtures/testprocess.py
index 3284d5670..d2d7b895b 100644
--- a/tests/end2end/fixtures/testprocess.py
+++ b/tests/end2end/fixtures/testprocess.py
@@ -19,18 +19,17 @@
"""Base class for a subprocess run for tests."""
+import dataclasses
import re
import time
import warnings
-import dataclasses
import pytest
import pytestqt.wait_signal
from helpers import testutils
-
-from qutebrowser.utils import utils as quteutils
from qutebrowser.qt import QtCore, QtTest
+from qutebrowser.utils import utils as quteutils
class InvalidLine(Exception):
diff --git a/tests/end2end/test_dirbrowser.py b/tests/end2end/test_dirbrowser.py
index 13ecd7426..6712f6469 100644
--- a/tests/end2end/test_dirbrowser.py
+++ b/tests/end2end/test_dirbrowser.py
@@ -20,18 +20,16 @@
"""Test the built-in directory browser."""
-import pathlib
import dataclasses
+import pathlib
from typing import List
-import pytest
import bs4
+import pytest
+from helpers import testutils
from qutebrowser.qt import QtCore
-
from qutebrowser.utils import urlutils
-from helpers import testutils
-
pytestmark = pytest.mark.qtwebengine_skip("Title is empty when parsing for "
"some reason?")
diff --git a/tests/end2end/test_invocations.py b/tests/end2end/test_invocations.py
index 44e118d41..a8a2bf4cd 100644
--- a/tests/end2end/test_invocations.py
+++ b/tests/end2end/test_invocations.py
@@ -20,20 +20,19 @@
"""Test starting qutebrowser with special arguments/environments."""
import configparser
-import subprocess
-import sys
-import logging
import importlib
-import re
import json
+import logging
import platform
+import re
+import subprocess
+import sys
import pytest
from helpers import testutils
-from qutebrowser.utils import qtutils, utils
from qutebrowser.qt import QtCore
-
+from qutebrowser.utils import qtutils, utils
ascii_locale = pytest.mark.skipif(sys.hexversion >= 0x03070000,
reason="Python >= 3.7 doesn't force ASCII "
diff --git a/tests/helpers/fixtures.py b/tests/helpers/fixtures.py
index 80b93d5a6..e182aeafd 100644
--- a/tests/helpers/fixtures.py
+++ b/tests/helpers/fixtures.py
@@ -25,33 +25,38 @@ See https://pytest.org/latest/fixture.html
"""
+import dataclasses
+import itertools
+import mimetypes
+import os.path
import sys
import tempfile
-import itertools
import textwrap
-import unittest.mock
import types
-import mimetypes
-import os.path
-import dataclasses
+import unittest.mock
-import pytest
import py.path # pylint: disable=no-name-in-module
-from qutebrowser.qt import QtWidgets, QtWebEngineWidgets, QtNetwork
+import pytest
import helpers.stubs as stubsmod
import qutebrowser
from helpers import testutils
-from qutebrowser.config import (config, configdata, configtypes, configexc,
- configfiles, configcache, stylesheet)
from qutebrowser.api import config as configapi
-from qutebrowser.utils import objreg, standarddir, utils, usertypes, version
from qutebrowser.browser import greasemonkey, history, qutescheme
-from qutebrowser.browser.webkit import cookies, cache
-from qutebrowser.misc import savemanager, sql, objects, sessions
+from qutebrowser.browser.webkit import cache, cookies
+from qutebrowser.config import (
+ config,
+ configcache,
+ configdata,
+ configexc,
+ configfiles,
+ configtypes,
+ stylesheet,
+)
from qutebrowser.keyinput import modeman
-from qutebrowser.qt import QtCore, sip
-
+from qutebrowser.misc import objects, savemanager, sessions, sql
+from qutebrowser.qt import QtCore, QtNetwork, QtWebEngineWidgets, QtWidgets, sip
+from qutebrowser.utils import objreg, standarddir, usertypes, utils, version
_qute_scheme_handler = None
diff --git a/tests/helpers/messagemock.py b/tests/helpers/messagemock.py
index d90de5595..136a07738 100644
--- a/tests/helpers/messagemock.py
+++ b/tests/helpers/messagemock.py
@@ -19,13 +19,13 @@
"""pytest helper to monkeypatch the message module."""
-import logging
import dataclasses
+import logging
import pytest
-from qutebrowser.utils import usertypes, message
from qutebrowser.qt import QtCore
+from qutebrowser.utils import message, usertypes
@dataclasses.dataclass
diff --git a/tests/helpers/stubs.py b/tests/helpers/stubs.py
index 42ed748e3..c6a3e7458 100644
--- a/tests/helpers/stubs.py
+++ b/tests/helpers/stubs.py
@@ -21,20 +21,19 @@
"""Fake objects/stubs."""
-from typing import Any, Callable, Tuple
-from unittest import mock
+import builtins
import contextlib
-import shutil
import dataclasses
-import builtins
import importlib
+import shutil
import types
-from qutebrowser.qt import QtWidgets, QtNetwork, QtGui
+from typing import Any, Callable, Tuple
+from unittest import mock
from qutebrowser.browser import browsertab, downloads
-from qutebrowser.utils import usertypes
from qutebrowser.commands import runners
-from qutebrowser.qt import QtCore
+from qutebrowser.qt import QtCore, QtGui, QtNetwork, QtWidgets
+from qutebrowser.utils import usertypes
class FakeNetworkCache(QtNetwork.QAbstractNetworkCache):
diff --git a/tests/helpers/testutils.py b/tests/helpers/testutils.py
index e1bf720cf..1bd886827 100644
--- a/tests/helpers/testutils.py
+++ b/tests/helpers/testutils.py
@@ -19,23 +19,22 @@
"""Various utilities used inside tests."""
-import io
-import re
+import contextlib
import gzip
-import pprint
+import importlib.machinery
+import importlib.util
+import io
import os.path
-import contextlib
import pathlib
-import importlib.util
-import importlib.machinery
-from typing import Optional, Any
+import pprint
+import re
+from typing import Any, Optional
import pytest
import qutebrowser.qt
-from qutebrowser.qt import QtWebEngine, QtGui
-
-from qutebrowser.utils import qtutils, log, utils, version
+from qutebrowser.qt import QtGui, QtWebEngine
+from qutebrowser.utils import log, qtutils, utils, version
ON_CI = 'CI' in os.environ
diff --git a/tests/unit/browser/test_caret.py b/tests/unit/browser/test_caret.py
index 40cd0b398..c8ef5ab0c 100644
--- a/tests/unit/browser/test_caret.py
+++ b/tests/unit/browser/test_caret.py
@@ -22,10 +22,10 @@
import textwrap
import pytest
-from qutebrowser.qt import QtCore
-from qutebrowser.utils import usertypes
from qutebrowser.browser import browsertab
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import usertypes
@pytest.fixture
diff --git a/tests/unit/browser/test_downloadview.py b/tests/unit/browser/test_downloadview.py
index 7ccb45f99..d174912ea 100644
--- a/tests/unit/browser/test_downloadview.py
+++ b/tests/unit/browser/test_downloadview.py
@@ -20,10 +20,9 @@
import pytest
+from qutebrowser.browser import downloads, downloadview, qtnetworkdownloads
from qutebrowser.qt import QtCore
-from qutebrowser.browser import downloads, qtnetworkdownloads, downloadview
-
class FakeDownload(downloads.AbstractDownloadItem):
diff --git a/tests/unit/browser/test_hints.py b/tests/unit/browser/test_hints.py
index 03d9a83e7..5d3354892 100644
--- a/tests/unit/browser/test_hints.py
+++ b/tests/unit/browser/test_hints.py
@@ -17,16 +17,16 @@
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
-import string
import functools
import itertools
import operator
+import string
import pytest
-from qutebrowser.qt import QtCore
-from qutebrowser.utils import usertypes
import qutebrowser.browser.hints
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import usertypes
@pytest.fixture(autouse=True)
diff --git a/tests/unit/browser/test_history.py b/tests/unit/browser/test_history.py
index a9401759c..56a65545f 100644
--- a/tests/unit/browser/test_history.py
+++ b/tests/unit/browser/test_history.py
@@ -22,13 +22,13 @@
import logging
import pytest
-from qutebrowser.qt import QtWebKit, QtCore
from helpers import testutils
+from qutebrowser.api import cmdutils
from qutebrowser.browser import history
+from qutebrowser.misc import objects, sql
+from qutebrowser.qt import QtCore, QtWebKit
from qutebrowser.utils import urlutils, usertypes
-from qutebrowser.api import cmdutils
-from qutebrowser.misc import sql, objects
@pytest.fixture(autouse=True)
diff --git a/tests/unit/browser/test_inspector.py b/tests/unit/browser/test_inspector.py
index 68e47c9da..23936c1b7 100644
--- a/tests/unit/browser/test_inspector.py
+++ b/tests/unit/browser/test_inspector.py
@@ -19,10 +19,9 @@
import pytest
-from qutebrowser.qt import QtWidgets
-
from qutebrowser.browser import inspector
from qutebrowser.misc import miscwidgets
+from qutebrowser.qt import QtWidgets
class FakeInspector(inspector.AbstractWebInspector):
diff --git a/tests/unit/browser/test_navigate.py b/tests/unit/browser/test_navigate.py
index 9308b64ba..7d5a8a1bb 100644
--- a/tests/unit/browser/test_navigate.py
+++ b/tests/unit/browser/test_navigate.py
@@ -20,9 +20,8 @@
import pytest
-from qutebrowser.qt import QtCore
-
from qutebrowser.browser import navigate
+from qutebrowser.qt import QtCore
from qutebrowser.utils import urlutils
diff --git a/tests/unit/browser/test_pdfjs.py b/tests/unit/browser/test_pdfjs.py
index 5ed48e825..51a9029e4 100644
--- a/tests/unit/browser/test_pdfjs.py
+++ b/tests/unit/browser/test_pdfjs.py
@@ -21,12 +21,11 @@ import logging
import os.path
import pytest
-from qutebrowser.qt import QtCore
from qutebrowser.browser import pdfjs
+from qutebrowser.qt import QtCore
from qutebrowser.utils import urlmatch
-
pytestmark = [pytest.mark.usefixtures('data_tmpdir')]
diff --git a/tests/unit/browser/test_qutescheme.py b/tests/unit/browser/test_qutescheme.py
index 2066070ea..02a3097b2 100644
--- a/tests/unit/browser/test_qutescheme.py
+++ b/tests/unit/browser/test_qutescheme.py
@@ -19,17 +19,17 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import json
+import logging
import os
import time
-import logging
import py.path # pylint: disable=no-name-in-module
import pytest
-from qutebrowser.browser import qutescheme, pdfjs, downloads
-from qutebrowser.utils import resources
+from qutebrowser.browser import downloads, pdfjs, qutescheme
from qutebrowser.misc import guiprocess
from qutebrowser.qt import QtCore
+from qutebrowser.utils import resources
class TestJavascriptHandler:
diff --git a/tests/unit/browser/test_urlmarks.py b/tests/unit/browser/test_urlmarks.py
index 16d6c4db2..804b8f730 100644
--- a/tests/unit/browser/test_urlmarks.py
+++ b/tests/unit/browser/test_urlmarks.py
@@ -22,9 +22,9 @@
import unittest.mock
import pytest
-from qutebrowser.qt import QtCore
from qutebrowser.browser import urlmarks
+from qutebrowser.qt import QtCore
@pytest.fixture
diff --git a/tests/unit/browser/webengine/test_webengine_cookies.py b/tests/unit/browser/webengine/test_webengine_cookies.py
index 6d02d3cfb..e074da5c6 100644
--- a/tests/unit/browser/webengine/test_webengine_cookies.py
+++ b/tests/unit/browser/webengine/test_webengine_cookies.py
@@ -24,8 +24,8 @@ from helpers import testutils
testutils.qt_module_skip('QtWebEngineCore')
from qutebrowser.browser.webengine import cookies
+from qutebrowser.qt import QtCore, QtWebEngineCore, QtWebEngineWidgets
from qutebrowser.utils import urlmatch
-from qutebrowser.qt import QtWebEngineWidgets, QtWebEngineCore, QtCore
@pytest.fixture
diff --git a/tests/unit/browser/webengine/test_webenginedownloads.py b/tests/unit/browser/webengine/test_webenginedownloads.py
index 7651fc3ca..67e201f36 100644
--- a/tests/unit/browser/webengine/test_webenginedownloads.py
+++ b/tests/unit/browser/webengine/test_webenginedownloads.py
@@ -17,9 +17,9 @@
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
-import os.path
import base64
import dataclasses
+import os.path
import pytest
@@ -27,9 +27,9 @@ from helpers import testutils
testutils.qt_module_skip('QtWebEngineWidgets')
+from qutebrowser.browser.webengine import webenginedownloads
from qutebrowser.qt import QtWebEngineWidgets
from qutebrowser.utils import urlutils, usertypes, utils
-from qutebrowser.browser.webengine import webenginedownloads
@pytest.mark.parametrize('path, expected', [
diff --git a/tests/unit/browser/webengine/test_webengineinterceptor.py b/tests/unit/browser/webengine/test_webengineinterceptor.py
index 5d4255e4b..1ea160218 100644
--- a/tests/unit/browser/webengine/test_webengineinterceptor.py
+++ b/tests/unit/browser/webengine/test_webengineinterceptor.py
@@ -24,8 +24,8 @@ from helpers import testutils
testutils.qt_module_skip('QtWebEngineWidgets')
-from qutebrowser.qt import QtWebEngineCore
from qutebrowser.browser.webengine import interceptor
+from qutebrowser.qt import QtWebEngineCore
def test_no_missing_resource_types():
diff --git a/tests/unit/browser/webengine/test_webenginetab.py b/tests/unit/browser/webengine/test_webenginetab.py
index 5df8be077..a6a03ff56 100644
--- a/tests/unit/browser/webengine/test_webenginetab.py
+++ b/tests/unit/browser/webengine/test_webenginetab.py
@@ -23,9 +23,10 @@ import logging
import textwrap
import pytest
+
+from helpers import testutils
from qutebrowser.browser import greasemonkey
from qutebrowser.utils import usertypes
-from helpers import testutils
QtWebEngineWidgets = testutils.qt_module_skip("QtWebEngineWidgets")
QWebEnginePage = QtWebEngineWidgets.QWebEnginePage
diff --git a/tests/unit/browser/webkit/http/test_http.py b/tests/unit/browser/webkit/http/test_http.py
index 75d70e0da..a974dfb65 100644
--- a/tests/unit/browser/webkit/http/test_http.py
+++ b/tests/unit/browser/webkit/http/test_http.py
@@ -21,12 +21,12 @@
import logging
-import pytest
import hypothesis
+import pytest
from hypothesis import strategies
-from qutebrowser.qt import QtCore
from qutebrowser.browser.webkit import http
+from qutebrowser.qt import QtCore
@pytest.mark.parametrize('url, expected', [
diff --git a/tests/unit/browser/webkit/network/test_filescheme.py b/tests/unit/browser/webkit/network/test_filescheme.py
index 17b45cd57..818234527 100644
--- a/tests/unit/browser/webkit/network/test_filescheme.py
+++ b/tests/unit/browser/webkit/network/test_filescheme.py
@@ -18,17 +18,17 @@
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
-import os
import dataclasses
+import os
from typing import List
-import pytest
import bs4
-from qutebrowser.qt import QtNetwork, QtCore
+import pytest
+from helpers import testutils
from qutebrowser.browser.webkit.network import filescheme
+from qutebrowser.qt import QtCore, QtNetwork
from qutebrowser.utils import urlutils, utils
-from helpers import testutils
@pytest.mark.parametrize('create_file, create_dir, filterfunc, expected', [
diff --git a/tests/unit/browser/webkit/network/test_networkreply.py b/tests/unit/browser/webkit/network/test_networkreply.py
index 04f348131..2dd3b12d3 100644
--- a/tests/unit/browser/webkit/network/test_networkreply.py
+++ b/tests/unit/browser/webkit/network/test_networkreply.py
@@ -22,7 +22,7 @@
import pytest
from qutebrowser.browser.webkit.network import networkreply
-from qutebrowser.qt import QtNetwork, QtCore
+from qutebrowser.qt import QtCore, QtNetwork
@pytest.fixture
diff --git a/tests/unit/browser/webkit/network/test_pac.py b/tests/unit/browser/webkit/network/test_pac.py
index c88d390d9..b723da683 100644
--- a/tests/unit/browser/webkit/network/test_pac.py
+++ b/tests/unit/browser/webkit/network/test_pac.py
@@ -18,14 +18,13 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import http.server
-import threading
import logging
-import pytest
+import threading
-from qutebrowser.qt import QtNetwork, QtCore
+import pytest
from qutebrowser.browser.network import pac
-
+from qutebrowser.qt import QtCore, QtNetwork
pytestmark = pytest.mark.usefixtures('qapp')
diff --git a/tests/unit/browser/webkit/test_cache.py b/tests/unit/browser/webkit/test_cache.py
index ecf022c93..632f57a3c 100644
--- a/tests/unit/browser/webkit/test_cache.py
+++ b/tests/unit/browser/webkit/test_cache.py
@@ -21,7 +21,7 @@
import pytest
from qutebrowser.browser.webkit import cache
-from qutebrowser.qt import QtNetwork, QtCore
+from qutebrowser.qt import QtCore, QtNetwork
@pytest.fixture
diff --git a/tests/unit/browser/webkit/test_certificateerror.py b/tests/unit/browser/webkit/test_certificateerror.py
index 5a5c4c4bd..cd82103ad 100644
--- a/tests/unit/browser/webkit/test_certificateerror.py
+++ b/tests/unit/browser/webkit/test_certificateerror.py
@@ -18,9 +18,9 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import pytest
-from qutebrowser.qt import QtNetwork
from qutebrowser.browser.webkit import certificateerror
+from qutebrowser.qt import QtNetwork
class FakeError:
diff --git a/tests/unit/browser/webkit/test_cookies.py b/tests/unit/browser/webkit/test_cookies.py
index 1a2fa0ad9..882edc791 100644
--- a/tests/unit/browser/webkit/test_cookies.py
+++ b/tests/unit/browser/webkit/test_cookies.py
@@ -18,13 +18,12 @@
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
-from qutebrowser.qt import QtNetwork
-from qutebrowser.qt import QtCore
import pytest
from qutebrowser.browser.webkit import cookies
-from qutebrowser.utils import usertypes, urlmatch
from qutebrowser.misc import lineparser, objects
+from qutebrowser.qt import QtCore, QtNetwork
+from qutebrowser.utils import urlmatch, usertypes
pytestmark = pytest.mark.usefixtures('data_tmpdir')
diff --git a/tests/unit/browser/webkit/test_tabhistory.py b/tests/unit/browser/webkit/test_tabhistory.py
index 8807def47..a9d8646b6 100644
--- a/tests/unit/browser/webkit/test_tabhistory.py
+++ b/tests/unit/browser/webkit/test_tabhistory.py
@@ -23,16 +23,15 @@ import dataclasses
from typing import Any
import pytest
+
from helpers import testutils
testutils.qt_module_skip('QtWebKit')
-from qutebrowser.qt import QtWebKit
from qutebrowser.browser.webkit import tabhistory
from qutebrowser.misc.sessions import TabHistoryItem as Item
+from qutebrowser.qt import QtCore, QtWebKit
from qutebrowser.utils import qtutils
-from qutebrowser.qt import QtCore
-
pytestmark = pytest.mark.qt_log_ignore('QIODevice::read.*: device not open')
diff --git a/tests/unit/browser/webkit/test_webkitelem.py b/tests/unit/browser/webkit/test_webkitelem.py
index ca1c39aed..2716935a4 100644
--- a/tests/unit/browser/webkit/test_webkitelem.py
+++ b/tests/unit/browser/webkit/test_webkitelem.py
@@ -19,12 +19,12 @@
"""Tests for the webelement utils."""
-from typing import TYPE_CHECKING
-from unittest import mock
import collections.abc
-import operator
-import itertools
import dataclasses
+import itertools
+import operator
+from typing import TYPE_CHECKING
+from unittest import mock
import pytest
@@ -35,8 +35,8 @@ QWebElement = testutils.qt_module_skip('QtWebKit').QWebElement
from qutebrowser.browser import browsertab
from qutebrowser.browser.webkit import webkitelem
from qutebrowser.misc import objects
-from qutebrowser.utils import usertypes
from qutebrowser.qt import QtCore
+from qutebrowser.utils import usertypes
if TYPE_CHECKING:
from helpers import stubs
diff --git a/tests/unit/commands/test_argparser.py b/tests/unit/commands/test_argparser.py
index 8ce0ea6f1..45ea1832b 100644
--- a/tests/unit/commands/test_argparser.py
+++ b/tests/unit/commands/test_argparser.py
@@ -19,13 +19,13 @@
"""Tests for qutebrowser.commands.argparser."""
-import inspect
import enum
+import inspect
import pytest
-from qutebrowser.qt import QtCore
from qutebrowser.commands import argparser, cmdexc
+from qutebrowser.qt import QtCore
class Enum(enum.Enum):
diff --git a/tests/unit/commands/test_userscripts.py b/tests/unit/commands/test_userscripts.py
index 4ff2dd393..c01dd7db2 100644
--- a/tests/unit/commands/test_userscripts.py
+++ b/tests/unit/commands/test_userscripts.py
@@ -17,17 +17,17 @@
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
-import os
-import pathlib
import json
-import time
import logging
+import os
+import pathlib
import signal
+import time
import pytest
-from qutebrowser.qt import QtCore
from qutebrowser.commands import userscripts
+from qutebrowser.qt import QtCore
from qutebrowser.utils import utils
diff --git a/tests/unit/completion/test_completer.py b/tests/unit/completion/test_completer.py
index 2eca88939..e25832072 100644
--- a/tests/unit/completion/test_completer.py
+++ b/tests/unit/completion/test_completer.py
@@ -22,11 +22,11 @@
import unittest.mock
import pytest
-from qutebrowser.qt import QtGui, QtCore
-from qutebrowser.completion import completer
-from qutebrowser.commands import command
from qutebrowser.api import cmdutils
+from qutebrowser.commands import command
+from qutebrowser.completion import completer
+from qutebrowser.qt import QtCore, QtGui
@pytest.fixture(autouse=True)
diff --git a/tests/unit/completion/test_completiondelegate.py b/tests/unit/completion/test_completiondelegate.py
index 8ed09b9a6..dd87c184a 100644
--- a/tests/unit/completion/test_completiondelegate.py
+++ b/tests/unit/completion/test_completiondelegate.py
@@ -21,9 +21,9 @@ from unittest import mock
import hypothesis
import hypothesis.strategies
import pytest
-from qutebrowser.qt import QtWidgets, QtGui, QtCore
from qutebrowser.completion import completiondelegate
+from qutebrowser.qt import QtCore, QtGui, QtWidgets
@pytest.mark.parametrize('pat,txt,segments', [
diff --git a/tests/unit/completion/test_completionmodel.py b/tests/unit/completion/test_completionmodel.py
index 55b70e0ef..3614b8e8e 100644
--- a/tests/unit/completion/test_completionmodel.py
+++ b/tests/unit/completion/test_completionmodel.py
@@ -20,15 +20,15 @@
"""Tests for CompletionModel."""
from unittest import mock
-import hypothesis
-from hypothesis import strategies
+import hypothesis
import pytest
-from qutebrowser.qt import QtCore
+from hypothesis import strategies
+from qutebrowser.api import cmdutils
from qutebrowser.completion.models import completionmodel, listcategory
+from qutebrowser.qt import QtCore
from qutebrowser.utils import qtutils
-from qutebrowser.api import cmdutils
@hypothesis.given(strategies.lists(
diff --git a/tests/unit/completion/test_completionwidget.py b/tests/unit/completion/test_completionwidget.py
index f19bfc0fe..fc5e7e994 100644
--- a/tests/unit/completion/test_completionwidget.py
+++ b/tests/unit/completion/test_completionwidget.py
@@ -22,11 +22,11 @@
from unittest import mock
import pytest
-from qutebrowser.qt import QtCore
+from qutebrowser.api import cmdutils
from qutebrowser.completion import completionwidget
from qutebrowser.completion.models import completionmodel, listcategory
-from qutebrowser.api import cmdutils
+from qutebrowser.qt import QtCore
@pytest.fixture
diff --git a/tests/unit/completion/test_models.py b/tests/unit/completion/test_models.py
index f771a8b16..a36891cf3 100644
--- a/tests/unit/completion/test_models.py
+++ b/tests/unit/completion/test_models.py
@@ -32,15 +32,20 @@ import hypothesis
import hypothesis.strategies as hst
import pytest
-from qutebrowser.misc import objects, guiprocess
+from helpers import testutils
from qutebrowser.completion import completer
from qutebrowser.completion.models import (
- configmodel, listcategory, miscmodels, urlmodel, filepathcategory)
+ configmodel,
+ filepathcategory,
+ listcategory,
+ miscmodels,
+ urlmodel,
+)
from qutebrowser.config import configdata, configtypes
-from qutebrowser.utils import usertypes
from qutebrowser.mainwindow import tabbedbrowser
-from qutebrowser.qt import QtWebEngineWidgets, QtCore
-from helpers import testutils
+from qutebrowser.misc import guiprocess, objects
+from qutebrowser.qt import QtCore, QtWebEngineWidgets
+from qutebrowser.utils import usertypes
def _check_completions(model, expected):
diff --git a/tests/unit/components/test_blockutils.py b/tests/unit/components/test_blockutils.py
index 7ee941b71..32a8c5a31 100644
--- a/tests/unit/components/test_blockutils.py
+++ b/tests/unit/components/test_blockutils.py
@@ -21,11 +21,10 @@
import io
from typing import IO
-from qutebrowser.qt import QtCore
-
import pytest
from qutebrowser.components.utils import blockutils
+from qutebrowser.qt import QtCore
@pytest.fixture
diff --git a/tests/unit/components/test_braveadblock.py b/tests/unit/components/test_braveadblock.py
index c6af31a23..d0fa63cbb 100644
--- a/tests/unit/components/test_braveadblock.py
+++ b/tests/unit/components/test_braveadblock.py
@@ -17,20 +17,19 @@
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
-import pathlib
-import logging
import csv
+import logging
+import pathlib
from typing import Iterable, Tuple
-from qutebrowser.qt import QtCore
-
import pytest
+from helpers import testutils
from qutebrowser.api.interceptor import ResourceType
from qutebrowser.components import braveadblock
from qutebrowser.components.utils import blockutils
+from qutebrowser.qt import QtCore
from qutebrowser.utils import usertypes
-from helpers import testutils
pytestmark = pytest.mark.usefixtures("qapp")
diff --git a/tests/unit/components/test_hostblock.py b/tests/unit/components/test_hostblock.py
index 8178daf5e..07e091f7f 100644
--- a/tests/unit/components/test_hostblock.py
+++ b/tests/unit/components/test_hostblock.py
@@ -18,18 +18,16 @@
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
+import logging
import pathlib
import zipfile
-import logging
import pytest
-from qutebrowser.qt import QtCore
-
+from helpers import testutils
from qutebrowser.components import hostblock
+from qutebrowser.qt import QtCore
from qutebrowser.utils import urlmatch
-from helpers import testutils
-
pytestmark = pytest.mark.usefixtures("qapp")
diff --git a/tests/unit/components/test_readlinecommands.py b/tests/unit/components/test_readlinecommands.py
index 35fef45a1..a3d26adee 100644
--- a/tests/unit/components/test_readlinecommands.py
+++ b/tests/unit/components/test_readlinecommands.py
@@ -17,15 +17,15 @@
# You should have received a copy of the GNU General Public License
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
+import inspect
import os
import re
-import inspect
+
import pytest
from qutebrowser.components import readlinecommands
from qutebrowser.qt import QtWidgets
-
# Some functions aren't 100% readline compatible:
# https://github.com/qutebrowser/qutebrowser/issues/678
# Those are marked with fixme and have another value marked with '# wrong'
diff --git a/tests/unit/config/test_config.py b/tests/unit/config/test_config.py
index 34f1cd816..a0f0854e5 100644
--- a/tests/unit/config/test_config.py
+++ b/tests/unit/config/test_config.py
@@ -18,17 +18,17 @@
"""Tests for qutebrowser.config.config."""
+import functools
import types
import unittest.mock
-import functools
import pytest
-from qutebrowser.qt import QtGui, QtCore
from qutebrowser.config import config, configdata, configexc
-from qutebrowser.utils import usertypes, urlmatch
-from qutebrowser.misc import objects
from qutebrowser.keyinput import keyutils
+from qutebrowser.misc import objects
+from qutebrowser.qt import QtCore, QtGui
+from qutebrowser.utils import urlmatch, usertypes
@pytest.fixture(autouse=True)
diff --git a/tests/unit/config/test_configcommands.py b/tests/unit/config/test_configcommands.py
index 50f22045a..0454db70e 100644
--- a/tests/unit/config/test_configcommands.py
+++ b/tests/unit/config/test_configcommands.py
@@ -18,18 +18,18 @@
"""Tests for qutebrowser.config.configcommands."""
-import logging
import functools
+import logging
import unittest.mock
import pytest
-from qutebrowser.qt import QtCore
-from qutebrowser.config import configcommands
from qutebrowser.api import cmdutils
-from qutebrowser.utils import usertypes, urlmatch, utils
+from qutebrowser.config import configcommands
from qutebrowser.keyinput import keyutils
from qutebrowser.misc import objects
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import urlmatch, usertypes, utils
# Alias because we need this a lot in here.
diff --git a/tests/unit/config/test_configfiles.py b/tests/unit/config/test_configfiles.py
index a6ef85e84..badefe4bf 100644
--- a/tests/unit/config/test_configfiles.py
+++ b/tests/unit/config/test_configfiles.py
@@ -18,19 +18,18 @@
"""Tests for qutebrowser.config.configfiles."""
+import logging
import os
import sys
-import unittest.mock
import textwrap
-import logging
+import unittest.mock
import pytest
-from qutebrowser.qt import QtWebEngineWidgets, QtCore
-from qutebrowser.config import (config, configfiles, configexc, configdata,
- configtypes)
-from qutebrowser.utils import utils, usertypes, urlmatch, standarddir, version
+from qutebrowser.config import config, configdata, configexc, configfiles, configtypes
from qutebrowser.keyinput import keyutils
+from qutebrowser.qt import QtCore, QtWebEngineWidgets
+from qutebrowser.utils import standarddir, urlmatch, usertypes, utils, version
@pytest.fixture(autouse=True)
diff --git a/tests/unit/config/test_configtypes.py b/tests/unit/config/test_configtypes.py
index ebba88a16..2665d5c74 100644
--- a/tests/unit/config/test_configtypes.py
+++ b/tests/unit/config/test_configtypes.py
@@ -18,25 +18,25 @@
"""Tests for qutebrowser.config.configtypes."""
-import re
+import dataclasses
+import functools
+import inspect
import json
import math
+import re
import warnings
-import inspect
-import functools
-import dataclasses
-import pytest
import hypothesis
+import pytest
from hypothesis import strategies
-from qutebrowser.qt import QtNetwork, QtGui, QtCore
-from qutebrowser.misc import objects
-from qutebrowser.config import configtypes, configexc
-from qutebrowser.utils import debug, utils, qtutils, urlmatch, usertypes
+from helpers import testutils
from qutebrowser.browser.network import pac
+from qutebrowser.config import configexc, configtypes
from qutebrowser.keyinput import keyutils
-from helpers import testutils
+from qutebrowser.misc import objects
+from qutebrowser.qt import QtCore, QtGui, QtNetwork
+from qutebrowser.utils import debug, qtutils, urlmatch, usertypes, utils
class Font(QtGui.QFont):
diff --git a/tests/unit/config/test_configutils.py b/tests/unit/config/test_configutils.py
index 43ed37662..a28b443a2 100644
--- a/tests/unit/config/test_configutils.py
+++ b/tests/unit/config/test_configutils.py
@@ -18,12 +18,12 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import hypothesis
-from hypothesis import strategies
import pytest
-from qutebrowser.qt import QtWidgets, QtCore
+from hypothesis import strategies
-from qutebrowser.config import configutils, configdata, configtypes, configexc
-from qutebrowser.utils import urlmatch, usertypes, qtutils
+from qutebrowser.config import configdata, configexc, configtypes, configutils
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import qtutils, urlmatch, usertypes
from tests.helpers import testutils
diff --git a/tests/unit/config/test_qtargs_locale_workaround.py b/tests/unit/config/test_qtargs_locale_workaround.py
index 15958ed6f..af16807e2 100644
--- a/tests/unit/config/test_qtargs_locale_workaround.py
+++ b/tests/unit/config/test_qtargs_locale_workaround.py
@@ -20,12 +20,11 @@ import os
import pathlib
import pytest
-from qutebrowser.qt import QtCore
-from qutebrowser.utils import utils
-from qutebrowser.config import qtargs
from helpers import testutils
-
+from qutebrowser.config import qtargs
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import utils
testutils.qt_module_skip('QtWebEngineWidgets')
diff --git a/tests/unit/config/test_stylesheet.py b/tests/unit/config/test_stylesheet.py
index 29811dcdd..0f79025a7 100644
--- a/tests/unit/config/test_stylesheet.py
+++ b/tests/unit/config/test_stylesheet.py
@@ -18,9 +18,8 @@
import pytest
-from qutebrowser.qt import QtCore
-
from qutebrowser.config import stylesheet
+from qutebrowser.qt import QtCore
class StyleObj(QtCore.QObject):
diff --git a/tests/unit/javascript/conftest.py b/tests/unit/javascript/conftest.py
index 214e9afed..bce9a5360 100644
--- a/tests/unit/javascript/conftest.py
+++ b/tests/unit/javascript/conftest.py
@@ -20,12 +20,12 @@
"""pytest conftest file for javascript tests."""
import pathlib
-import pytest
-import jinja2
-from qutebrowser.qt import QtCore
+import jinja2
+import pytest
import qutebrowser
+from qutebrowser.qt import QtCore
from qutebrowser.utils import usertypes
JS_DIR = pathlib.Path(__file__).parent
diff --git a/tests/unit/javascript/stylesheet/test_stylesheet_js.py b/tests/unit/javascript/stylesheet/test_stylesheet_js.py
index 219b9c8c2..e55771fab 100644
--- a/tests/unit/javascript/stylesheet/test_stylesheet_js.py
+++ b/tests/unit/javascript/stylesheet/test_stylesheet_js.py
@@ -20,10 +20,11 @@
"""Tests for stylesheet.js."""
import pathlib
+
import pytest
-from qutebrowser.utils import javascript
from helpers import testutils
+from qutebrowser.utils import javascript
QtWebEngineWidgets = testutils.qt_module_skip("QtWebEngineWidgets")
QWebEngineProfile = QtWebEngineWidgets.QWebEngineProfile
diff --git a/tests/unit/javascript/test_greasemonkey.py b/tests/unit/javascript/test_greasemonkey.py
index 24ff4f4d8..1a8e1fbe5 100644
--- a/tests/unit/javascript/test_greasemonkey.py
+++ b/tests/unit/javascript/test_greasemonkey.py
@@ -21,13 +21,13 @@
import logging
import textwrap
-import pytest
import py.path # pylint: disable=no-name-in-module
-from qutebrowser.qt import QtCore
+import pytest
-from qutebrowser.utils import usertypes, version
from qutebrowser.browser import greasemonkey
from qutebrowser.misc import objects
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import usertypes, version
test_gm_script = r"""
// ==UserScript==
diff --git a/tests/unit/javascript/test_js_execution.py b/tests/unit/javascript/test_js_execution.py
index cf0fda247..ff660e732 100644
--- a/tests/unit/javascript/test_js_execution.py
+++ b/tests/unit/javascript/test_js_execution.py
@@ -21,7 +21,8 @@
import pytest
-from qutebrowser.qt import QtWebKit, QtWebEngineWidgets
+
+from qutebrowser.qt import QtWebEngineWidgets, QtWebKit
@pytest.mark.parametrize('js_enabled, expected', [(True, 2.0), (False, None)])
diff --git a/tests/unit/keyinput/test_basekeyparser.py b/tests/unit/keyinput/test_basekeyparser.py
index f300b95d2..73c4ead66 100644
--- a/tests/unit/keyinput/test_basekeyparser.py
+++ b/tests/unit/keyinput/test_basekeyparser.py
@@ -21,11 +21,11 @@
from unittest import mock
-from qutebrowser.qt import QtCore
import pytest
from qutebrowser.keyinput import basekeyparser, keyutils
-from qutebrowser.utils import utils, usertypes
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import usertypes, utils
# Alias because we need this a lot in here.
diff --git a/tests/unit/keyinput/test_bindingtrie.py b/tests/unit/keyinput/test_bindingtrie.py
index 388be0f42..b63218e62 100644
--- a/tests/unit/keyinput/test_bindingtrie.py
+++ b/tests/unit/keyinput/test_bindingtrie.py
@@ -19,16 +19,14 @@
"""Tests for the BindingTrie."""
-import string
import itertools
+import string
import textwrap
import pytest
+from qutebrowser.keyinput import basekeyparser, keyutils
from qutebrowser.qt import QtGui
-
-from qutebrowser.keyinput import basekeyparser
-from qutebrowser.keyinput import keyutils
from unit.keyinput import test_keyutils
diff --git a/tests/unit/keyinput/test_keyutils.py b/tests/unit/keyinput/test_keyutils.py
index b43736478..6d1299cee 100644
--- a/tests/unit/keyinput/test_keyutils.py
+++ b/tests/unit/keyinput/test_keyutils.py
@@ -20,14 +20,13 @@
import operator
import hypothesis
-from hypothesis import strategies
import pytest
-from qutebrowser.qt import QtWidgets
+from hypothesis import strategies
-from unit.keyinput import key_data
from qutebrowser.keyinput import keyutils
+from qutebrowser.qt import QtCore, QtGui, QtWidgets
from qutebrowser.utils import utils
-from qutebrowser.qt import QtGui, QtCore
+from unit.keyinput import key_data
@pytest.fixture(params=key_data.KEYS, ids=lambda k: k.attribute)
diff --git a/tests/unit/keyinput/test_modeman.py b/tests/unit/keyinput/test_modeman.py
index 21422f621..b90a6ddd5 100644
--- a/tests/unit/keyinput/test_modeman.py
+++ b/tests/unit/keyinput/test_modeman.py
@@ -19,10 +19,10 @@
import pytest
-from qutebrowser.utils import usertypes
from qutebrowser.keyinput import keyutils
from qutebrowser.misc import objects
from qutebrowser.qt import QtCore
+from qutebrowser.utils import usertypes
class FakeKeyparser(QtCore.QObject):
diff --git a/tests/unit/keyinput/test_modeparsers.py b/tests/unit/keyinput/test_modeparsers.py
index b8bce2291..e9f07db0f 100644
--- a/tests/unit/keyinput/test_modeparsers.py
+++ b/tests/unit/keyinput/test_modeparsers.py
@@ -19,11 +19,10 @@
"""Tests for mode parsers."""
-from qutebrowser.qt import QtGui, QtCore
-
import pytest
-from qutebrowser.keyinput import modeparsers, keyutils
+from qutebrowser.keyinput import keyutils, modeparsers
+from qutebrowser.qt import QtCore, QtGui
@pytest.fixture
diff --git a/tests/unit/mainwindow/statusbar/test_textbase.py b/tests/unit/mainwindow/statusbar/test_textbase.py
index 982b09736..32e4189c1 100644
--- a/tests/unit/mainwindow/statusbar/test_textbase.py
+++ b/tests/unit/mainwindow/statusbar/test_textbase.py
@@ -19,10 +19,10 @@
"""Test TextBase widget."""
-from qutebrowser.qt import QtCore
import pytest
from qutebrowser.mainwindow.statusbar.textbase import TextBase
+from qutebrowser.qt import QtCore
@pytest.mark.parametrize(
diff --git a/tests/unit/mainwindow/statusbar/test_url.py b/tests/unit/mainwindow/statusbar/test_url.py
index 2f18ddf76..dc3241cf1 100644
--- a/tests/unit/mainwindow/statusbar/test_url.py
+++ b/tests/unit/mainwindow/statusbar/test_url.py
@@ -22,10 +22,9 @@
import pytest
-from qutebrowser.qt import QtCore
-
-from qutebrowser.utils import usertypes, urlutils
from qutebrowser.mainwindow.statusbar import url
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import urlutils, usertypes
@pytest.fixture
diff --git a/tests/unit/mainwindow/test_messageview.py b/tests/unit/mainwindow/test_messageview.py
index 05878f0f6..999ac1360 100644
--- a/tests/unit/mainwindow/test_messageview.py
+++ b/tests/unit/mainwindow/test_messageview.py
@@ -18,9 +18,9 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import pytest
-from qutebrowser.qt import QtCore
from qutebrowser.mainwindow import messageview
+from qutebrowser.qt import QtCore
from qutebrowser.utils import usertypes
diff --git a/tests/unit/mainwindow/test_prompt.py b/tests/unit/mainwindow/test_prompt.py
index 208145d91..a03dd7219 100644
--- a/tests/unit/mainwindow/test_prompt.py
+++ b/tests/unit/mainwindow/test_prompt.py
@@ -20,9 +20,9 @@
import os
import pytest
-from qutebrowser.qt import QtCore
from qutebrowser.mainwindow import prompt as promptmod
+from qutebrowser.qt import QtCore
from qutebrowser.utils import usertypes
diff --git a/tests/unit/mainwindow/test_tabwidget.py b/tests/unit/mainwindow/test_tabwidget.py
index 22efc525b..1cc04c350 100644
--- a/tests/unit/mainwindow/test_tabwidget.py
+++ b/tests/unit/mainwindow/test_tabwidget.py
@@ -25,8 +25,8 @@ import functools
import pytest
from qutebrowser.mainwindow import tabwidget
-from qutebrowser.utils import usertypes
from qutebrowser.qt import QtGui
+from qutebrowser.utils import usertypes
class TestTabWidget:
diff --git a/tests/unit/misc/test_autoupdate.py b/tests/unit/misc/test_autoupdate.py
index 1457d5034..fa7736728 100644
--- a/tests/unit/misc/test_autoupdate.py
+++ b/tests/unit/misc/test_autoupdate.py
@@ -21,9 +21,9 @@
"""Tests for qutebrowser.misc.autoupdate."""
import pytest
-from qutebrowser.qt import QtCore
from qutebrowser.misc import autoupdate, httpclient
+from qutebrowser.qt import QtCore
INVALID_JSON = ['{"invalid": { "json"}', '{"wrong": "keys"}']
diff --git a/tests/unit/misc/test_editor.py b/tests/unit/misc/test_editor.py
index dc24cbc32..a07fa88b7 100644
--- a/tests/unit/misc/test_editor.py
+++ b/tests/unit/misc/test_editor.py
@@ -19,16 +19,16 @@
"""Tests for qutebrowser.misc.editor."""
+import logging
+import os
+import pathlib
import sys
import time
-import pathlib
-import os
-import logging
import pytest
-from qutebrowser.qt import QtCore
from qutebrowser.misc import editor as editormod
+from qutebrowser.qt import QtCore
from qutebrowser.utils import usertypes
diff --git a/tests/unit/misc/test_elf.py b/tests/unit/misc/test_elf.py
index a2c1d1025..f4872b6d0 100644
--- a/tests/unit/misc/test_elf.py
+++ b/tests/unit/misc/test_elf.py
@@ -20,13 +20,13 @@
import io
import struct
-import pytest
import hypothesis
+import pytest
from hypothesis import strategies as hst
+from helpers import testutils
from qutebrowser.misc import elf
from qutebrowser.utils import utils
-from helpers import testutils
@pytest.mark.parametrize('fmt, expected', [
diff --git a/tests/unit/misc/test_guiprocess.py b/tests/unit/misc/test_guiprocess.py
index 3157287e0..8a5201cb2 100644
--- a/tests/unit/misc/test_guiprocess.py
+++ b/tests/unit/misc/test_guiprocess.py
@@ -19,15 +19,15 @@
"""Tests for qutebrowser.misc.guiprocess."""
-import sys
import logging
+import sys
import pytest
-from qutebrowser.misc import guiprocess
-from qutebrowser.utils import usertypes, utils, version
from qutebrowser.api import cmdutils
+from qutebrowser.misc import guiprocess
from qutebrowser.qt import QtCore, sip
+from qutebrowser.utils import usertypes, utils, version
@pytest.fixture
diff --git a/tests/unit/misc/test_ipc.py b/tests/unit/misc/test_ipc.py
index a536ee46e..290a22962 100644
--- a/tests/unit/misc/test_ipc.py
+++ b/tests/unit/misc/test_ipc.py
@@ -19,25 +19,23 @@
"""Tests for qutebrowser.misc.ipc."""
-import os
-import pathlib
+import dataclasses
import getpass
-import logging
-import json
import hashlib
-import dataclasses
+import json
+import logging
+import os
+import pathlib
+from typing import List, Optional
from unittest import mock
-from typing import Optional, List
import pytest
-from qutebrowser.qt import QtTest
import qutebrowser
+from helpers import stubs, testutils
from qutebrowser.misc import ipc
+from qutebrowser.qt import QtCore, QtNetwork, QtTest
from qutebrowser.utils import standarddir, utils, version
-from helpers import stubs, testutils
-from qutebrowser.qt import QtNetwork, QtCore
-
pytestmark = pytest.mark.usefixtures('qapp')
diff --git a/tests/unit/misc/test_miscwidgets.py b/tests/unit/misc/test_miscwidgets.py
index 15e3a5972..3f48b7da3 100644
--- a/tests/unit/misc/test_miscwidgets.py
+++ b/tests/unit/misc/test_miscwidgets.py
@@ -18,12 +18,12 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import logging
-from qutebrowser.qt import QtWidgets
+
import pytest
-from qutebrowser.misc import miscwidgets
from qutebrowser.browser import inspector
-from qutebrowser.qt import QtCore
+from qutebrowser.misc import miscwidgets
+from qutebrowser.qt import QtCore, QtWidgets
class TestCommandLineEdit:
diff --git a/tests/unit/misc/test_msgbox.py b/tests/unit/misc/test_msgbox.py
index bf3e11b2b..e72a7d434 100644
--- a/tests/unit/misc/test_msgbox.py
+++ b/tests/unit/misc/test_msgbox.py
@@ -20,9 +20,8 @@
import pytest
-from qutebrowser.qt import QtWidgets, QtCore
-
from qutebrowser.misc import msgbox
+from qutebrowser.qt import QtCore, QtWidgets
from qutebrowser.utils import utils
diff --git a/tests/unit/misc/test_pastebin.py b/tests/unit/misc/test_pastebin.py
index 1c72a1d3d..6ad587065 100644
--- a/tests/unit/misc/test_pastebin.py
+++ b/tests/unit/misc/test_pastebin.py
@@ -19,9 +19,9 @@
# along with qutebrowser. If not, see <https://www.gnu.org/licenses/>.
import pytest
-from qutebrowser.qt import QtCore
from qutebrowser.misc import httpclient, pastebin
+from qutebrowser.qt import QtCore
@pytest.fixture
diff --git a/tests/unit/misc/test_sessions.py b/tests/unit/misc/test_sessions.py
index 1551a9e2a..ff6c120ec 100644
--- a/tests/unit/misc/test_sessions.py
+++ b/tests/unit/misc/test_sessions.py
@@ -28,11 +28,12 @@ from helpers import testutils
QWebView = testutils.qt_module_skip('QtWebKitWidgets').QWebView
+from qutebrowser.browser.webkit import tabhistory
from qutebrowser.misc import sessions
from qutebrowser.misc.sessions import TabHistoryItem as Item
-from qutebrowser.utils import objreg, qtutils
-from qutebrowser.browser.webkit import tabhistory
from qutebrowser.qt import QtCore
+from qutebrowser.utils import objreg, qtutils
+
pytestmark = pytest.mark.qt_log_ignore('QIODevice::read.*: device not open')
webengine_refactoring_xfail = pytest.mark.xfail(
diff --git a/tests/unit/misc/test_sql.py b/tests/unit/misc/test_sql.py
index bbdf5e8e5..8312fa350 100644
--- a/tests/unit/misc/test_sql.py
+++ b/tests/unit/misc/test_sql.py
@@ -19,15 +19,13 @@
"""Test the SQL API."""
-import pytest
-
import hypothesis
+import pytest
from hypothesis import strategies
from qutebrowser.misc import sql
from qutebrowser.qt import QtSql
-
pytestmark = pytest.mark.usefixtures('data_tmpdir')
diff --git a/tests/unit/misc/test_throttle.py b/tests/unit/misc/test_throttle.py
index 675a48ec6..23026ef6d 100644
--- a/tests/unit/misc/test_throttle.py
+++ b/tests/unit/misc/test_throttle.py
@@ -21,13 +21,12 @@
from unittest import mock
-import sip
import pytest
-from qutebrowser.qt import QtCore
+import sip
from helpers import testutils
from qutebrowser.misc import throttle
-
+from qutebrowser.qt import QtCore
DELAY = 500 if testutils.ON_CI else 100
diff --git a/tests/unit/misc/test_utilcmds.py b/tests/unit/misc/test_utilcmds.py
index 98d19c3b8..90262e60c 100644
--- a/tests/unit/misc/test_utilcmds.py
+++ b/tests/unit/misc/test_utilcmds.py
@@ -20,10 +20,10 @@
"""Tests for qutebrowser.misc.utilcmds."""
import pytest
-from qutebrowser.qt import QtCore
-from qutebrowser.misc import utilcmds
from qutebrowser.api import cmdutils
+from qutebrowser.misc import utilcmds
+from qutebrowser.qt import QtCore
from qutebrowser.utils import objreg
diff --git a/tests/unit/test_app.py b/tests/unit/test_app.py
index 96a938ce0..ff9553c53 100644
--- a/tests/unit/test_app.py
+++ b/tests/unit/test_app.py
@@ -19,10 +19,9 @@
"""Tests for the qutebrowser.app module."""
-from qutebrowser.qt import QtCore
-
-from qutebrowser.misc import objects
from qutebrowser import app
+from qutebrowser.misc import objects
+from qutebrowser.qt import QtCore
def test_on_focus_changed_issue1484(monkeypatch, qapp, caplog):
diff --git a/tests/unit/utils/test_debug.py b/tests/unit/utils/test_debug.py
index 2203e7452..7fa1415cd 100644
--- a/tests/unit/utils/test_debug.py
+++ b/tests/unit/utils/test_debug.py
@@ -21,15 +21,15 @@
import logging
import re
-import time
import textwrap
+import time
import pytest
-from qutebrowser.utils import debug
-from qutebrowser.misc import objects
-from qutebrowser.qt import QtWidgets, QtCore
from helpers import testutils
+from qutebrowser.misc import objects
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import debug
@debug.log_events
diff --git a/tests/unit/utils/test_error.py b/tests/unit/utils/test_error.py
index 5cc2017b0..8beb8ebad 100644
--- a/tests/unit/utils/test_error.py
+++ b/tests/unit/utils/test_error.py
@@ -21,10 +21,10 @@
import logging
import pytest
-from qutebrowser.qt import QtWidgets, QtCore
-from qutebrowser.utils import error, utils
from qutebrowser.misc import ipc
+from qutebrowser.qt import QtCore, QtWidgets
+from qutebrowser.utils import error, utils
class Error(Exception):
diff --git a/tests/unit/utils/test_jinja.py b/tests/unit/utils/test_jinja.py
index 1537ecd5c..f259494a3 100644
--- a/tests/unit/utils/test_jinja.py
+++ b/tests/unit/utils/test_jinja.py
@@ -19,15 +19,15 @@
"""Tests for qutebrowser.utils.jinja."""
-import pathlib
import logging
+import pathlib
import jinja2.exceptions
import pytest
-from qutebrowser.qt import QtCore
-from qutebrowser.utils import jinja
from qutebrowser.config import configexc
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import jinja
@pytest.fixture(autouse=True)
diff --git a/tests/unit/utils/test_log.py b/tests/unit/utils/test_log.py
index 8a2c3d485..c69c70d21 100644
--- a/tests/unit/utils/test_log.py
+++ b/tests/unit/utils/test_log.py
@@ -19,21 +19,21 @@
"""Tests for qutebrowser.utils.log."""
-import logging
import argparse
+import dataclasses
import itertools
+import logging
import sys
import warnings
-import dataclasses
-import pytest
import _pytest.logging # pylint: disable=import-private-name
+import pytest
from qutebrowser import qutebrowser
-from qutebrowser.utils import log
-from qutebrowser.misc import utilcmds
from qutebrowser.api import cmdutils
+from qutebrowser.misc import utilcmds
from qutebrowser.qt import QtCore
+from qutebrowser.utils import log
@pytest.fixture(autouse=True)
diff --git a/tests/unit/utils/test_qtutils.py b/tests/unit/utils/test_qtutils.py
index 8a0071970..7e1ed4c54 100644
--- a/tests/unit/utils/test_qtutils.py
+++ b/tests/unit/utils/test_qtutils.py
@@ -20,20 +20,19 @@
"""Tests for qutebrowser.utils.qtutils."""
+import dataclasses
import io
import os
import pathlib
-import dataclasses
import unittest
import unittest.mock
+import overflow_test_cases
import pytest
-from qutebrowser.qt import QtGui
-from qutebrowser.utils import qtutils, utils, usertypes
-import overflow_test_cases
from helpers import testutils
-from qutebrowser.qt import QtCore
+from qutebrowser.qt import QtCore, QtGui
+from qutebrowser.utils import qtutils, usertypes, utils
if utils.is_linux:
# Those are not run on macOS because that seems to cause a hang sometimes.
@@ -42,6 +41,7 @@ if utils.is_linux:
try:
# pylint: disable=no-name-in-module,useless-suppression
from test import test_file
+
# pylint: enable=no-name-in-module,useless-suppression
except ImportError:
# Debian patches Python to remove the tests...
diff --git a/tests/unit/utils/test_standarddir.py b/tests/unit/utils/test_standarddir.py
index 275af8a7d..dfd2d3063 100644
--- a/tests/unit/utils/test_standarddir.py
+++ b/tests/unit/utils/test_standarddir.py
@@ -19,20 +19,19 @@
"""Tests for qutebrowser.utils.standarddir."""
+import json
+import logging
import os
import os.path
+import subprocess
import sys
-import json
-import types
import textwrap
-import logging
-import subprocess
+import types
-from qutebrowser.qt import QtCore
import pytest
-from qutebrowser.utils import standarddir, utils, qtutils, version
-
+from qutebrowser.qt import QtCore
+from qutebrowser.utils import qtutils, standarddir, utils, version
# Use a different application name for tests to make sure we don't change real
# qutebrowser data if we accidentally access the real path in a test.
diff --git a/tests/unit/utils/test_urlmatch.py b/tests/unit/utils/test_urlmatch.py
index 1fe70917f..a7bca621f 100644
--- a/tests/unit/utils/test_urlmatch.py
+++ b/tests/unit/utils/test_urlmatch.py
@@ -30,11 +30,11 @@ Currently not tested:
import string
-import pytest
import hypothesis
import hypothesis.strategies as hst
-from qutebrowser.qt import QtCore
+import pytest
+from qutebrowser.qt import QtCore
from qutebrowser.utils import urlmatch
# pylint: disable=line-too-long
diff --git a/tests/unit/utils/test_urlutils.py b/tests/unit/utils/test_urlutils.py
index 459f39f8c..7b04e3a11 100644
--- a/tests/unit/utils/test_urlutils.py
+++ b/tests/unit/utils/test_urlutils.py
@@ -19,19 +19,19 @@
"""Tests for qutebrowser.utils.urlutils."""
-import os.path
-import logging
import dataclasses
+import logging
+import os.path
import urllib.parse
-from qutebrowser.qt import QtNetwork, QtCore
-import pytest
import hypothesis
import hypothesis.strategies
+import pytest
from qutebrowser.api import cmdutils
from qutebrowser.browser.network import pac
-from qutebrowser.utils import utils, urlutils, usertypes
+from qutebrowser.qt import QtCore, QtNetwork
+from qutebrowser.utils import urlutils, usertypes, utils
class FakeDNS:
diff --git a/tests/unit/utils/test_utils.py b/tests/unit/utils/test_utils.py
index 15012e31e..088a9ead5 100644
--- a/tests/unit/utils/test_utils.py
+++ b/tests/unit/utils/test_utils.py
@@ -19,27 +19,27 @@
"""Tests for qutebrowser.utils.utils."""
-import sys
import enum
-import os
+import functools
import io
import logging
-import functools
-import re
-import shlex
import math
import operator
-from qutebrowser.qt import QtGui
-import pytest
+import os
+import re
+import shlex
+import sys
+
import hypothesis
-from hypothesis import strategies
+import pytest
import yaml
+from hypothesis import strategies
import qutebrowser
import qutebrowser.utils # for test_qualname
-from qutebrowser.utils import utils, usertypes
+from qutebrowser.qt import QtCore, QtGui
+from qutebrowser.utils import usertypes, utils
from qutebrowser.utils.utils import VersionNumber
-from qutebrowser.qt import QtCore
class TestVersionNumber:
diff --git a/tests/unit/utils/test_version.py b/tests/unit/utils/test_version.py
index 252e18ca5..11c157c0f 100644
--- a/tests/unit/utils/test_version.py
+++ b/tests/unit/utils/test_version.py
@@ -19,28 +19,28 @@
"""Tests for qutebrowser.utils.version."""
+import contextlib
+import dataclasses
+import datetime
import io
-import sys
+import logging
import os
import pathlib
import subprocess
-import contextlib
-import logging
+import sys
import textwrap
-import datetime
-import dataclasses
-import pytest
import hypothesis
import hypothesis.strategies
-from qutebrowser.qt import QtWebEngine, QtCore, pyqt
+import pytest
import qutebrowser
-from qutebrowser.config import config, websettings
-from qutebrowser.utils import version, usertypes, utils, standarddir
-from qutebrowser.misc import pastebin, objects, elf
-from qutebrowser.browser import pdfjs
from helpers import testutils
+from qutebrowser.browser import pdfjs
+from qutebrowser.config import config, websettings
+from qutebrowser.misc import elf, objects, pastebin
+from qutebrowser.qt import QtCore, QtWebEngine, pyqt
+from qutebrowser.utils import standarddir, usertypes, utils, version
if QtWebEngine:
from qutebrowser.browser.webengine import webenginesettings
diff --git a/tests/unit/utils/usertypes/test_timer.py b/tests/unit/utils/usertypes/test_timer.py
index 0fab35528..ef686a5a5 100644
--- a/tests/unit/utils/usertypes/test_timer.py
+++ b/tests/unit/utils/usertypes/test_timer.py
@@ -20,8 +20,8 @@
"""Tests for Timer."""
import pytest
-from qutebrowser.qt import QtCore
+from qutebrowser.qt import QtCore
from qutebrowser.utils import usertypes