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
This commit is contained in:
Ben Nguyen 2024-11-09 02:43:51 -08:00 committed by GitHub
parent 748aa0f07a
commit fdaad7150e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 14 additions and 5 deletions

View file

@ -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]

View file

@ -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()

View file

@ -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)

View file

@ -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", {}))