diff --git a/anki/sched.py b/anki/sched.py index ca0b63dde..bce6f9b1d 100644 --- a/anki/sched.py +++ b/anki/sched.py @@ -228,19 +228,20 @@ order by due""" % self._deckLimit(), parts = parts[:-1] return "::".join(parts) for deck in decks: - # if we've already seen the exact same deck name, remove the + # if we've already seen the exact same deck name, rename the # invalid duplicate and reload if deck['name'] in lims: - self.col.decks.rem(deck['id'], cardsToo=False, childrenToo=True) + deck['name'] += "1" + self.col.decks.save(deck) return self.deckDueList() p = parent(deck['name']) # new nlim = self._deckNewLimitSingle(deck) if p: if p not in lims: - # if parent was missing, this deck is invalid, and we - # need to reload the deck list - self.col.decks.rem(deck['id'], cardsToo=False, childrenToo=True) + # if parent was missing, this deck is invalid + deck['name'] = "recovered" + self.col.decks.save(deck) return self.deckDueList() nlim = min(nlim, lims[p][0]) new = self._newForDeck(deck['id'], nlim) diff --git a/anki/schedv2.py b/anki/schedv2.py index 30f3e4a0f..3883f1551 100644 --- a/anki/schedv2.py +++ b/anki/schedv2.py @@ -218,19 +218,20 @@ order by due""" % self._deckLimit(), return "::".join(parts) childMap = self.col.decks.childMap() for deck in decks: - # if we've already seen the exact same deck name, remove the + # if we've already seen the exact same deck name, rename the # invalid duplicate and reload if deck['name'] in lims: - self.col.decks.rem(deck['id'], cardsToo=False, childrenToo=True) + deck['name'] += "1" + self.col.decks.save(deck) return self.deckDueList() p = parent(deck['name']) # new nlim = self._deckNewLimitSingle(deck) if p: if p not in lims: - # if parent was missing, this deck is invalid, and we - # need to reload the deck list - self.col.decks.rem(deck['id'], cardsToo=False, childrenToo=True) + # if parent was missing, this deck is invalid + deck['name'] = "recovered" + self.col.decks.save(deck) return self.deckDueList() nlim = min(nlim, lims[p][0]) new = self._newForDeck(deck['id'], nlim)