summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorian Bruhin <me@the-compiler.org>2024-03-25 12:15:03 +0100
committerFlorian Bruhin <me@the-compiler.org>2024-03-25 12:15:03 +0100
commit01f4807eaf8d20dcc3802cd2febf9432568f3935 (patch)
tree7c7f3599124e6943bce9c24577b989639c942380
parent52c83cf4851650eb86d094e03365592b4f668982 (diff)
downloadqutebrowser-01f4807eaf8d20dcc3802cd2febf9432568f3935.tar.gz
qutebrowser-01f4807eaf8d20dcc3802cd2febf9432568f3935.zip
mypy: Set local_partial_types = True
This is going to be default behavior in mypy 2.0, see: - #8123 - https://mypy-lang.blogspot.com/2024/03/mypy-19-released.html - https://mypy.readthedocs.io/en/stable/command_line.html#cmdoption-mypy-local-partial-types
-rw-r--r--.mypy.ini3
-rw-r--r--qutebrowser/browser/network/proxy.py4
-rw-r--r--qutebrowser/browser/qutescheme.py4
-rw-r--r--qutebrowser/browser/webengine/webenginesettings.py2
-rw-r--r--qutebrowser/commands/runners.py4
-rw-r--r--qutebrowser/config/config.py2
-rw-r--r--qutebrowser/config/configinit.py3
-rw-r--r--qutebrowser/config/websettings.py2
-rw-r--r--qutebrowser/extensions/loader.py2
-rw-r--r--qutebrowser/keyinput/keyutils.py2
-rw-r--r--qutebrowser/misc/consolewidget.py4
-rw-r--r--qutebrowser/misc/ipc.py2
-rw-r--r--qutebrowser/misc/nativeeventfilter.py2
-rw-r--r--qutebrowser/qt/machinery.py4
-rw-r--r--qutebrowser/utils/log.py4
-rw-r--r--qutebrowser/utils/qtlog.py2
-rw-r--r--qutebrowser/utils/qtutils.py2
-rw-r--r--qutebrowser/utils/resources.py4
-rw-r--r--qutebrowser/utils/standarddir.py4
-rw-r--r--qutebrowser/utils/utils.py2
-rw-r--r--qutebrowser/utils/version.py2
21 files changed, 33 insertions, 27 deletions
diff --git a/.mypy.ini b/.mypy.ini
index ef34dbada..e987da336 100644
--- a/.mypy.ini
+++ b/.mypy.ini
@@ -29,6 +29,9 @@ pretty = True
### FIXME:v4 get rid of this
no_implicit_optional = False
+### Future default behavior
+local_partial_types = True
+
[mypy-hunter]
# https://github.com/ionelmc/python-hunter/issues/43
ignore_missing_imports = True
diff --git a/qutebrowser/browser/network/proxy.py b/qutebrowser/browser/network/proxy.py
index f0c511853..62872d68e 100644
--- a/qutebrowser/browser/network/proxy.py
+++ b/qutebrowser/browser/network/proxy.py
@@ -4,6 +4,8 @@
"""Handling of proxies."""
+from typing import Optional
+
from qutebrowser.qt.core import QUrl, pyqtSlot
from qutebrowser.qt.network import QNetworkProxy, QNetworkProxyFactory
@@ -13,7 +15,7 @@ from qutebrowser.misc import objects
from qutebrowser.browser.network import pac
-application_factory = None
+application_factory: Optional["ProxyFactory"] = None
def init():
diff --git a/qutebrowser/browser/qutescheme.py b/qutebrowser/browser/qutescheme.py
index f325ff9e3..508d510d7 100644
--- a/qutebrowser/browser/qutescheme.py
+++ b/qutebrowser/browser/qutescheme.py
@@ -32,10 +32,10 @@ from qutebrowser.qt import sip
pyeval_output = ":pyeval was never called"
-csrf_token = None
+csrf_token: Optional[str] = None
-_HANDLERS = {}
+_HANDLERS: Dict[str, "_HandlerCallable"] = {}
class Error(Exception):
diff --git a/qutebrowser/browser/webengine/webenginesettings.py b/qutebrowser/browser/webengine/webenginesettings.py
index 2b375a7b0..78a4946ad 100644
--- a/qutebrowser/browser/webengine/webenginesettings.py
+++ b/qutebrowser/browser/webengine/webenginesettings.py
@@ -37,7 +37,7 @@ private_profile: Optional[QWebEngineProfile] = None
# The global WebEngineSettings object
_global_settings = cast('WebEngineSettings', None)
-parsed_user_agent = None
+parsed_user_agent: Optional[websettings.UserAgent] = None
_qute_scheme_handler = cast(webenginequtescheme.QuteSchemeHandler, None)
_req_interceptor = cast('interceptor.RequestInterceptor', None)
diff --git a/qutebrowser/commands/runners.py b/qutebrowser/commands/runners.py
index 1ad563c5d..0d63d0021 100644
--- a/qutebrowser/commands/runners.py
+++ b/qutebrowser/commands/runners.py
@@ -7,7 +7,7 @@
import traceback
import re
import contextlib
-from typing import TYPE_CHECKING, Callable, Dict, Iterator, Mapping, MutableMapping
+from typing import TYPE_CHECKING, Callable, Dict, Tuple, Iterator, Mapping, MutableMapping
from qutebrowser.qt.core import pyqtSlot, QUrl, QObject
@@ -21,7 +21,7 @@ if TYPE_CHECKING:
_ReplacementFunction = Callable[['tabbedbrowser.TabbedBrowser'], str]
-last_command = {}
+last_command: Dict[usertypes.KeyMode, Tuple[str, int]] = {}
def _url(tabbed_browser):
diff --git a/qutebrowser/config/config.py b/qutebrowser/config/config.py
index 573f25fa1..cb7fe77b3 100644
--- a/qutebrowser/config/config.py
+++ b/qutebrowser/config/config.py
@@ -29,7 +29,7 @@ key_instance = cast('KeyConfig', None)
cache = cast('configcache.ConfigCache', None)
# Keeping track of all change filters to validate them later.
-change_filters = []
+change_filters: List["change_filter"] = []
# Sentinel
UNSET = object()
diff --git a/qutebrowser/config/configinit.py b/qutebrowser/config/configinit.py
index 5d000c3ec..a08ddb619 100644
--- a/qutebrowser/config/configinit.py
+++ b/qutebrowser/config/configinit.py
@@ -7,6 +7,7 @@
import argparse
import os.path
import sys
+from typing import Optional
from qutebrowser.qt.widgets import QMessageBox
@@ -19,7 +20,7 @@ from qutebrowser.misc import msgbox, objects, savemanager
# Error which happened during init, so we can show a message box.
-_init_errors = None
+_init_errors: Optional[configexc.ConfigFileErrors] = None
def early_init(args: argparse.Namespace) -> None:
diff --git a/qutebrowser/config/websettings.py b/qutebrowser/config/websettings.py
index 9f5bf92d0..7824ae258 100644
--- a/qutebrowser/config/websettings.py
+++ b/qutebrowser/config/websettings.py
@@ -246,7 +246,7 @@ def clear_private_data() -> None:
elif objects.backend == usertypes.Backend.QtWebKit:
from qutebrowser.browser.webkit import cookies
assert cookies.ram_cookie_jar is not None
- cookies.ram_cookie_jar.setAllCookies([]) # type: ignore[unreachable]
+ cookies.ram_cookie_jar.setAllCookies([])
else:
raise utils.Unreachable(objects.backend)
diff --git a/qutebrowser/extensions/loader.py b/qutebrowser/extensions/loader.py
index b5b232c5a..ff9974d9d 100644
--- a/qutebrowser/extensions/loader.py
+++ b/qutebrowser/extensions/loader.py
@@ -21,7 +21,7 @@ from qutebrowser.misc import objects
# ModuleInfo objects for all loaded plugins
-_module_infos = []
+_module_infos: List["ModuleInfo"] = []
InitHookType = Callable[['InitContext'], None]
ConfigChangedHookType = Callable[[], None]
diff --git a/qutebrowser/keyinput/keyutils.py b/qutebrowser/keyinput/keyutils.py
index af19bb61c..54b6e88b1 100644
--- a/qutebrowser/keyinput/keyutils.py
+++ b/qutebrowser/keyinput/keyutils.py
@@ -26,7 +26,7 @@ from qutebrowser.qt.gui import QKeySequence, QKeyEvent
if machinery.IS_QT6:
from qutebrowser.qt.core import QKeyCombination
else:
- QKeyCombination = None # QKeyCombination was added in Qt 6
+ QKeyCombination: None = None # QKeyCombination was added in Qt 6
from qutebrowser.utils import utils, qtutils, debug
diff --git a/qutebrowser/misc/consolewidget.py b/qutebrowser/misc/consolewidget.py
index b489aaf36..08f5dc5ff 100644
--- a/qutebrowser/misc/consolewidget.py
+++ b/qutebrowser/misc/consolewidget.py
@@ -6,7 +6,7 @@
import sys
import code
-from typing import MutableSequence
+from typing import MutableSequence, Optional
from qutebrowser.qt.core import pyqtSignal, pyqtSlot, Qt
from qutebrowser.qt.widgets import QTextEdit, QWidget, QVBoxLayout, QApplication
@@ -17,7 +17,7 @@ from qutebrowser.misc import cmdhistory, miscwidgets
from qutebrowser.utils import utils, objreg
-console_widget = None
+console_widget: Optional["ConsoleWidget"] = None
class ConsoleLineEdit(miscwidgets.CommandLineEdit):
diff --git a/qutebrowser/misc/ipc.py b/qutebrowser/misc/ipc.py
index 2dc34c886..21a3352d6 100644
--- a/qutebrowser/misc/ipc.py
+++ b/qutebrowser/misc/ipc.py
@@ -28,7 +28,7 @@ PROTOCOL_VERSION = 1
# The ipc server instance
-server = None
+server: Optional["IPCServer"] = None
def _get_socketname_windows(basedir):
diff --git a/qutebrowser/misc/nativeeventfilter.py b/qutebrowser/misc/nativeeventfilter.py
index 9b1bbb97c..06533bd42 100644
--- a/qutebrowser/misc/nativeeventfilter.py
+++ b/qutebrowser/misc/nativeeventfilter.py
@@ -20,7 +20,7 @@ from qutebrowser.utils import log
# Needs to be saved to avoid garbage collection
-_instance = None
+_instance: Optional["NativeEventFilter"] = None
# Using C-style naming for C structures in this file
# pylint: disable=invalid-name
diff --git a/qutebrowser/qt/machinery.py b/qutebrowser/qt/machinery.py
index 616c7ccfc..f9e3721f8 100644
--- a/qutebrowser/qt/machinery.py
+++ b/qutebrowser/qt/machinery.py
@@ -34,7 +34,7 @@ from qutebrowser.utils import log
# sed -i 's/_WRAPPER_OVERRIDE = .*/_WRAPPER_OVERRIDE = "PyQt6"/' qutebrowser/qt/machinery.py
#
# Users: Set the QUTE_QT_WRAPPER environment variable to change the default wrapper.
-_WRAPPER_OVERRIDE = None
+_WRAPPER_OVERRIDE = None # type: ignore[var-annotated]
WRAPPERS = [
"PyQt6",
@@ -190,7 +190,7 @@ def _select_wrapper(args: Optional[argparse.Namespace]) -> SelectionInfo:
return SelectionInfo(wrapper=env_wrapper, reason=SelectionReason.env)
if _WRAPPER_OVERRIDE is not None:
- assert _WRAPPER_OVERRIDE in WRAPPERS # type: ignore[unreachable]
+ assert _WRAPPER_OVERRIDE in WRAPPERS
return SelectionInfo(wrapper=_WRAPPER_OVERRIDE, reason=SelectionReason.override)
return _autoselect_wrapper()
diff --git a/qutebrowser/utils/log.py b/qutebrowser/utils/log.py
index 3e3b407b0..9695ec5a2 100644
--- a/qutebrowser/utils/log.py
+++ b/qutebrowser/utils/log.py
@@ -31,7 +31,7 @@ if TYPE_CHECKING:
from qutebrowser.config import config as configmodule
_log_inited = False
-_args = None
+_args: Optional[argparse.Namespace] = None
COLORS = ['black', 'red', 'green', 'yellow', 'blue', 'purple', 'cyan', 'white']
COLOR_ESCAPES = {color: '\033[{}m'.format(i)
@@ -146,7 +146,7 @@ LOGGER_NAMES = [
ram_handler: Optional['RAMHandler'] = None
console_handler: Optional[logging.Handler] = None
-console_filter = None
+console_filter: Optional["LogFilter"] = None
def stub(suffix: str = '') -> None:
diff --git a/qutebrowser/utils/qtlog.py b/qutebrowser/utils/qtlog.py
index 1de9181cf..78b48ebee 100644
--- a/qutebrowser/utils/qtlog.py
+++ b/qutebrowser/utils/qtlog.py
@@ -15,7 +15,7 @@ from typing import Iterator, Optional
from qutebrowser.qt import core as qtcore
from qutebrowser.utils import log
-_args = None
+_args: Optional[argparse.Namespace] = None
def init(args: argparse.Namespace) -> None:
diff --git a/qutebrowser/utils/qtutils.py b/qutebrowser/utils/qtutils.py
index 89175ca4e..12c98cc1d 100644
--- a/qutebrowser/utils/qtutils.py
+++ b/qutebrowser/utils/qtutils.py
@@ -736,4 +736,4 @@ else:
def add_optional(obj: Optional[_T]) -> Optional[_T]:
return obj
- QT_NONE = None
+ QT_NONE: None = None
diff --git a/qutebrowser/utils/resources.py b/qutebrowser/utils/resources.py
index 60d90fd31..a40f9d2bd 100644
--- a/qutebrowser/utils/resources.py
+++ b/qutebrowser/utils/resources.py
@@ -9,7 +9,7 @@ import sys
import contextlib
import posixpath
import pathlib
-from typing import Iterator, Iterable, Union
+from typing import Iterator, Iterable, Union, Dict
# We cannot use the stdlib version on 3.8 because we need the files() API.
@@ -25,7 +25,7 @@ else: # pragma: no cover
from importlib_resources.abc import Traversable
import qutebrowser
-_cache = {}
+_cache: Dict[str, str] = {}
_ResourceType = Union[Traversable, pathlib.Path]
diff --git a/qutebrowser/utils/standarddir.py b/qutebrowser/utils/standarddir.py
index 2d2ae53f9..026376dc2 100644
--- a/qutebrowser/utils/standarddir.py
+++ b/qutebrowser/utils/standarddir.py
@@ -10,7 +10,7 @@ import sys
import contextlib
import enum
import argparse
-from typing import Iterator, Optional
+from typing import Iterator, Optional, Dict
from qutebrowser.qt.core import QStandardPaths
from qutebrowser.qt.widgets import QApplication
@@ -18,7 +18,7 @@ from qutebrowser.qt.widgets import QApplication
from qutebrowser.utils import log, debug, utils, version, qtutils
# The cached locations
-_locations = {}
+_locations: Dict["_Location", str] = {}
class _Location(enum.Enum):
diff --git a/qutebrowser/utils/utils.py b/qutebrowser/utils/utils.py
index a9de4bc00..11c160c9e 100644
--- a/qutebrowser/utils/utils.py
+++ b/qutebrowser/utils/utils.py
@@ -38,7 +38,7 @@ except ImportError: # pragma: no cover
from qutebrowser.utils import log
-fake_clipboard = None
+fake_clipboard: Optional[str] = None
log_clipboard = False
is_mac = sys.platform.startswith('darwin')
diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py
index 59da5b5f0..58772b3db 100644
--- a/qutebrowser/utils/version.py
+++ b/qutebrowser/utils/version.py
@@ -78,7 +78,7 @@ class DistributionInfo:
pretty: str
-pastebin_url = None
+pastebin_url: Optional[str] = None
class Distribution(enum.Enum):