summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJimmy <jimmy@spalge.com>2022-04-30 15:57:31 +1200
committerJimmy <jimmy@spalge.com>2022-04-30 19:31:12 +1200
commit60ed76fb1cb1fad104da4c4a15645270f4503a79 (patch)
treec6bcc7930742622195a69beaf08e314b8b995472
parentddf40ac903244b4f54617f5a37afd544248686c8 (diff)
downloadqutebrowser-60ed76fb1cb1fad104da4c4a15645270f4503a79.tar.gz
qutebrowser-60ed76fb1cb1fad104da4c4a15645270f4503a79.zip
run isort on modified files
Unfortunately isort seems to run on all imports in modified files, instead of just modified ones. Possibly there is some way to tell it to only touch `qutebrowser.qt` imports but I couldn't find it (or to filter the diff output). So there is a bit more noise in this one than the black one. It might be helpful to try to exclude it from running on some files (like `qutebrowser/qt.py`) using noqa directives or something. I had to tell it our source directories explicitly else it moved `from helpers` up in the test files. It did touch imports in `if TYPE_CHECKING:` blocks, it didn't touch stuff in `if PyQt6:` blocks. I guess I had mypy installed, and not PyQt6. There are a couple of options that can reduce the diff. They cause pylint to be unhappy though: length_sort_straight = true Causes string imports to be sorted by length (eg os, sys, importlib) instead of alphabetically. This fits with the existing style better but it causes, for example, `os` and `os.path` to be sorted differently which makes pylint complain. length_sort = true Similar to the above option but for all imports and import aliases. Import aliases in particular are not currently sorted so it doesn't end up reducing the diff substantially. only_sections = true Causes isort to not re-order imports, only move them between sections. Which is great for reducing the diff but it doesn't put the moved imports into a well sorted place, it just puts them at the top/bottom of the section they are moved to. So, for the tests in particular, it was ending up with `qutebrowser.qt`, `helpers`, `qutebrowser.browser...` which also made pylint complain about ungrouped imports. It would be great if I could do `only_sections` and then tell it to only sort the first party section. But sorting only specific sections doesn't seem to be an option! ran like: $ cat pyproject.toml [tool.black] skip-string-normalization = true target-version = 'py37' [tool.isort] #length_sort_straight = true group_by_package = true #only_sections = true profile = 'black' honor_noqa = true src_paths = ["qutebrowser", "tests"] $ darker -i -W 8 -r 488dc175e069 qutebrowser tests/
-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