Merge pull request #705 from mkrump/help-wanted-4-add-type-hints-3

Add type hints for aqt.importing, aqt.errors and aqt.models
This commit is contained in:
Damien Elmes 2020-07-25 11:44:05 +10:00 committed by GitHub
commit ca8265a695
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 15 additions and 6 deletions

View file

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

View file

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

View file

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

View file

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