From fdaad7150eff79f182b363698c17f1b9c06442bb Mon Sep 17 00:00:00 2001 From: Ben Nguyen <105088397+bpnguyen107@users.noreply.github.com> Date: Sat, 9 Nov 2024 02:43:51 -0800 Subject: [PATCH] Enable strict_optional for aqt/debug_console, emptycards, flags (#3565) * Enable strict_optional for debug_console * Fix mypy errors * Enable strict_optional for emptycards * Fix mypy errors * Enable strict_optional for flags * Fix mypy errors --- .mypy.ini | 6 ++++++ qt/aqt/debug_console.py | 4 +++- qt/aqt/emptycards.py | 3 ++- qt/aqt/flags.py | 6 +++--- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/.mypy.ini b/.mypy.ini index 6ba52ee64..da2daea54 100644 --- a/.mypy.ini +++ b/.mypy.ini @@ -80,6 +80,12 @@ strict_optional = True strict_optional = True [mypy-aqt.switch] strict_optional = True +[mypy-aqt.debug_console] +strict_optional = True +[mypy-aqt.emptycards] +strict_optional = True +[mypy-aqt.flags] +strict_optional = True [mypy-anki.scheduler.base] strict_optional = True [mypy-anki._backend.rsbridge] diff --git a/qt/aqt/debug_console.py b/qt/aqt/debug_console.py index 76fead38b..2ad9843db 100644 --- a/qt/aqt/debug_console.py +++ b/qt/aqt/debug_console.py @@ -196,6 +196,7 @@ class DebugConsole(QDialog): def _on_context_menu(self, text_edit: QPlainTextEdit) -> None: menu = text_edit.createStandardContextMenu() + assert menu is not None menu.addSeparator() for action in self._actions(): entry = menu.addAction(action.name) @@ -227,7 +228,7 @@ class DebugConsole(QDialog): sys.stderr = self._oldStderr sys.stdout = self._oldStdout - def _card_repr(self, card: anki.cards.Card) -> None: + def _card_repr(self, card: anki.cards.Card | None) -> None: import copy import pprint @@ -316,6 +317,7 @@ class DebugConsole(QDialog): ) self._log.appendPlainText(to_append) slider = self._log.verticalScrollBar() + assert slider is not None slider.setValue(slider.maximum()) self._log.ensureCursorVisible() diff --git a/qt/aqt/emptycards.py b/qt/aqt/emptycards.py index 378aa09c3..78436239e 100644 --- a/qt/aqt/emptycards.py +++ b/qt/aqt/emptycards.py @@ -63,7 +63,7 @@ class EmptyCardsDialog(QDialog): def on_finished(code: Any) -> None: self.form.webview.cleanup() - self.form.webview = None + self.form.webview = None # type: ignore saveGeom(self, "emptycards") qconnect(self.finished, on_finished) @@ -71,6 +71,7 @@ class EmptyCardsDialog(QDialog): self._delete_button = self.form.buttonBox.addButton( tr.empty_cards_delete_button(), QDialogButtonBox.ButtonRole.ActionRole ) + assert self._delete_button is not None self._delete_button.setAutoDefault(False) qconnect(self._delete_button.clicked, self._on_delete) diff --git a/qt/aqt/flags.py b/qt/aqt/flags.py index 5373206ab..7a1b9aef1 100644 --- a/qt/aqt/flags.py +++ b/qt/aqt/flags.py @@ -34,11 +34,11 @@ class Flag: class FlagManager: def __init__(self, mw: aqt.main.AnkiQt) -> None: self.mw = mw - self._flags: list[Flag] | None = None + self._flags: list[Flag] = [] def all(self) -> list[Flag]: """Return a list of all flags.""" - if self._flags is None: + if not self._flags: self._load_flags() return self._flags @@ -57,7 +57,7 @@ class FlagManager: def require_refresh(self) -> None: "Discard cached labels." - self._flags = None + self._flags = [] def _load_flags(self) -> None: labels = cast(dict[str, str], self.mw.col.get_config("flagLabels", {}))