diff --git a/anki/decks.py b/anki/decks.py index 4bf7d55ab..67f4b6457 100644 --- a/anki/decks.py +++ b/anki/decks.py @@ -368,6 +368,13 @@ class DeckManager(object): return self.col.db.list("select id from cards where did in "+ ids2str(dids)) + def recoverOrphans(self): + dids = self.decks.keys() + mod = self.col.db.mod + self.col.db.execute("update cards set did = 1 where did not in "+ + ids2str(dids)) + self.col.db.mod = mod + # Deck selection ############################################################# diff --git a/anki/sched.py b/anki/sched.py index 060d392a4..906e5ee9f 100644 --- a/anki/sched.py +++ b/anki/sched.py @@ -176,6 +176,7 @@ order by due""" % self._deckLimit(), self._checkDay() if self._clearOverdue: self.removeFailed(expiredOnly=True) + self.col.decks.recoverOrphans() decks = self.col.decks.all() decks.sort(key=itemgetter('name')) lims = {}