diff --git a/qt/aqt/errors.py b/qt/aqt/errors.py index de73435d4..b6cbc2eb6 100644 --- a/qt/aqt/errors.py +++ b/qt/aqt/errors.py @@ -54,7 +54,7 @@ class ErrorHandler(QObject): def setTimer(self): # we can't create a timer from a different thread, so we post a # message to the object on the main thread - self.errorTimer.emit() + self.errorTimer.emit() # type: ignore def _setTimer(self): if not self.timer: diff --git a/qt/aqt/importing.py b/qt/aqt/importing.py index ce217287a..257fd4bfe 100644 --- a/qt/aqt/importing.py +++ b/qt/aqt/importing.py @@ -10,6 +10,7 @@ import traceback import unicodedata import zipfile from concurrent.futures import Future +from typing import Optional import anki.importing as importing import aqt.deckchooser @@ -55,7 +56,7 @@ class ChangeMap(QDialog): self.frm.fields.setCurrentRow(n) else: self.frm.fields.setCurrentRow(n + 1) - self.field = None + self.field: Optional[str] = None def getField(self): self.exec_() @@ -488,7 +489,9 @@ def _replaceWithApkg(mw, filename, backup): colname = "collection.anki2" with z.open(colname) as source, open(mw.pm.collectionPath(), "wb") as target: - shutil.copyfileobj(source, target) + # ignore appears related to https://github.com/python/typeshed/issues/4349 + # see if can turn off once issue fix is merged in + shutil.copyfileobj(source, target) # type: ignore d = os.path.join(mw.pm.profileFolder(), "collection.media") for n, (cStr, file) in enumerate( diff --git a/qt/aqt/models.py b/qt/aqt/models.py index f7b5afcb4..170a2e2ed 100644 --- a/qt/aqt/models.py +++ b/qt/aqt/models.py @@ -6,6 +6,7 @@ from typing import List, Optional import aqt.clayout from anki import stdmodels +from anki.backend_pb2 import NoteTypeNameIDUseCount from anki.lang import _, ngettext from anki.models import NoteType from anki.notes import Note @@ -88,7 +89,7 @@ class Models(QDialog): self.mw.taskman.with_progress(save, on_done, self) - def updateModelsList(self, notetypes): + def updateModelsList(self, notetypes: List[NoteTypeNameIDUseCount]) -> None: row = self.form.modelsList.currentRow() if row == -1: row = 0 @@ -96,8 +97,7 @@ class Models(QDialog): self.models = notetypes for m in self.models: - mUse = m.use_count - mUse = ngettext("%d note", "%d notes", mUse) % mUse + mUse = ngettext("%d note", "%d notes", m.use_count) % m.use_count item = QListWidgetItem("%s [%s]" % (m.name, mUse)) self.form.modelsList.addItem(item) self.form.modelsList.setCurrentRow(row) diff --git a/qt/mypy.ini b/qt/mypy.ini index 4a13f5e7d..69352e25e 100644 --- a/qt/mypy.ini +++ b/qt/mypy.ini @@ -68,5 +68,11 @@ check_untyped_defs=true check_untyped_defs=true [mypy-aqt.dyndeckconf] check_untyped_defs=true +[mypy-aqt.models] +check_untyped_defs=true +[mypy-aqt.errors] +check_untyped_defs=true +[mypy-aqt.importing] +check_untyped_defs=true [mypy-aqt.deckconf] check_untyped_defs=true