Skip to content

Instantly share code, notes, and snippets.

@eshapard
Last active October 23, 2023 21:04
Show Gist options
  • Save eshapard/b15e0df7d115b20cb58f57f44ba17c08 to your computer and use it in GitHub Desktop.
Save eshapard/b15e0df7d115b20cb58f57f44ba17c08 to your computer and use it in GitHub Desktop.
Anki 2.0 addon. Prevents learning (and re-learning) cards from being removed from a filtered deck. This allows you to rebuild the deck while keeping the learning cards inside of it; bypassing the problems with Anki decks where learning cards are set back to 'new' or 'review' when they exit a filtered deck.
# Filter Safety
# Anki 2.0 addon
# Author EJS
# https://eshapard.github.io/
#
# Prevents cards in learning state from being moved out of a filtered deck
# when you rebuild it.
from anki.sched import Scheduler
#from aqt.utils import showInfo
def safeEmptyDyn(self, did, lim=None):
if not lim:
lim = "did = %s and type != 1 and queue != 1" % did
else:
lim = "%s and type != 1 and queue != 1" % lim
ret = origEmptyDyn(self, did, lim)
return ret
origEmptyDyn = Scheduler.emptyDyn
Scheduler.emptyDyn = safeEmptyDyn
@justpeanuts
Copy link

justpeanuts commented Sep 28, 2023

Sorry, I don't use Anki anymore, so I'll probably never get around to porting it to 2.1.

Hi, just stumbled on this repo..
@eshapard mind saying what made you quit anki? what do you use instead? (Just curious.. sorry if it seems nosy.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment