From 8fe68b7dc86610024589621c36d8b0e8daf7b12d Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 23 Jul 2019 10:54:04 +0200 Subject: [PATCH] mypy: Turn on warn_unreachable --- mypy.ini | 1 + qutebrowser/browser/webkit/webkitelem.py | 3 ++- qutebrowser/mainwindow/tabwidget.py | 4 +++- qutebrowser/misc/checkpyver.py | 3 ++- qutebrowser/misc/crashsignal.py | 2 +- qutebrowser/utils/log.py | 4 ++-- qutebrowser/utils/version.py | 4 ++-- 7 files changed, 13 insertions(+), 8 deletions(-) diff --git a/mypy.ini b/mypy.ini index 0607ddfdf..1880921b9 100644 --- a/mypy.ini +++ b/mypy.ini @@ -17,6 +17,7 @@ disallow_untyped_decorators = True # check_untyped_defs = True # no_implicit_optional = True # warn_return_any = True +warn_unreachable = True # Other strictness flags strict_equality = True diff --git a/qutebrowser/browser/webkit/webkitelem.py b/qutebrowser/browser/webkit/webkitelem.py index 983904eeb..3b65fc7a6 100644 --- a/qutebrowser/browser/webkit/webkitelem.py +++ b/qutebrowser/browser/webkit/webkitelem.py @@ -172,7 +172,8 @@ class WebKitElement(webelem.AbstractWebElement): def _parent(self) -> typing.Optional['WebKitElement']: """Get the parent element of this element.""" self._check_vanished() - elem = self._elem.parent() + elem = typing.cast(typing.Optional[QWebElement], + self._elem.parent()) if elem is None or elem.isNull(): return None return WebKitElement(elem, tab=self._tab) diff --git a/qutebrowser/mainwindow/tabwidget.py b/qutebrowser/mainwindow/tabwidget.py index 7f6201f88..03fe6418c 100644 --- a/qutebrowser/mainwindow/tabwidget.py +++ b/qutebrowser/mainwindow/tabwidget.py @@ -19,6 +19,7 @@ """The tab widget used for TabbedBrowser from browser.py.""" +import typing import functools import contextlib @@ -347,7 +348,8 @@ class TabWidget(QTabWidget): def setTabIcon(self, idx: int, icon: QIcon): """Always show tab icons for pinned tabs in some circumstances.""" - tab = self.widget(idx) + tab = typing.cast(typing.Optional[browsertab.AbstractTab], + self.widget(idx)) if (icon.isNull() and config.cache['tabs.favicons.show'] != 'never' and config.cache['tabs.pinned.shrink'] and diff --git a/qutebrowser/misc/checkpyver.py b/qutebrowser/misc/checkpyver.py index aab373648..597b2597c 100644 --- a/qutebrowser/misc/checkpyver.py +++ b/qutebrowser/misc/checkpyver.py @@ -49,7 +49,8 @@ def check_python_version(): version_str = '.'.join(map(str, sys.version_info[:3])) text = ("At least Python 3.5 is required to run qutebrowser, but " + "it's running with " + version_str + ".\n") - if Tk and '--no-err-windows' not in sys.argv: # pragma: no cover + if (Tk and # type: ignore + '--no-err-windows' not in sys.argv): # pragma: no cover root = Tk() root.withdraw() messagebox.showerror("qutebrowser: Fatal error!", text) diff --git a/qutebrowser/misc/crashsignal.py b/qutebrowser/misc/crashsignal.py index 6bbd480f1..c645f19fd 100644 --- a/qutebrowser/misc/crashsignal.py +++ b/qutebrowser/misc/crashsignal.py @@ -172,7 +172,7 @@ class CrashHandler(QObject): if sys.__stderr__ is not None: faulthandler.enable(sys.__stderr__) else: - faulthandler.disable() + faulthandler.disable() # type: ignore try: self._crash_log_file.close() os.remove(self._crash_log_file.name) diff --git a/qutebrowser/utils/log.py b/qutebrowser/utils/log.py index 004ce16c0..4d32d8222 100644 --- a/qutebrowser/utils/log.py +++ b/qutebrowser/utils/log.py @@ -259,7 +259,7 @@ def _init_handlers(level, color, force_color, json_logging, ram_capacity): level, color, force_color, json_logging) if sys.stderr is None: - console_handler = None + console_handler = None # type: ignore else: strip = False if force_color else None if use_colorama: @@ -313,7 +313,7 @@ def _init_formatters(level, color, force_color, json_logging): html_formatter = HTMLFormatter(EXTENDED_FMT_HTML, DATEFMT, log_colors=LOG_COLORS) if sys.stderr is None: - return None, ram_formatter, html_formatter, False + return None, ram_formatter, html_formatter, False # type: ignore if json_logging: console_formatter = JSONFormatter() diff --git a/qutebrowser/utils/version.py b/qutebrowser/utils/version.py index 437ba49a3..615522c05 100644 --- a/qutebrowser/utils/version.py +++ b/qutebrowser/utils/version.py @@ -352,9 +352,9 @@ def _chromium_version(): Also see https://www.chromium.org/developers/calendar and https://chromereleases.googleblog.com/ """ - if webenginesettings is None or QWebEngineProfile is None: + if webenginesettings is None or QWebEngineProfile is None: # type: ignore # This should never happen - return 'unavailable' + return 'unavailable' # type: ignore ua = webenginesettings.default_user_agent if ua is None: profile = QWebEngineProfile.defaultProfile()