diff --git a/pylib/anki/decks.py b/pylib/anki/decks.py index 27949a30f..83298f97d 100644 --- a/pylib/anki/decks.py +++ b/pylib/anki/decks.py @@ -104,9 +104,6 @@ class DeckManager: deck["name"] = name self.update(deck) - # fixme - self.maybeAddToActive() - # fixme hooks.deck_added(deck) @@ -248,12 +245,6 @@ class DeckManager: except anki.rsbackend.ExistsError: raise DeckRenameError("deck already exists") - # self.decks[str(g["id"])] = g - self.maybeAddToActive() - # mark registry changed, but don't bump mod time - - # self.save() - def rename(self, g: Dict[str, Any], newName: str) -> None: "Rename deck prefix to NAME if not exists. Updates children." g["name"] = newName @@ -262,7 +253,6 @@ class DeckManager: # fixme: ensure rename of b in a::b::c generates new b # fixme: renaming may have altered active did order - # self.maybeAddToActive() def renameForDragAndDrop(self, draggedDeckDid: int, ontoDeckDid: Any) -> None: draggedDeck = self.get(draggedDeckDid) @@ -452,11 +442,6 @@ class DeckManager: intTime(), ) - def maybeAddToActive(self) -> None: - # reselect current deck, or default if current has disappeared - c = self.current() - self.select(c["id"]) - def cids(self, did: int, children: bool = False) -> Any: if not children: return self.col.db.list("select id from cards where did=?", did) @@ -494,6 +479,10 @@ class DeckManager: self.col.conf["activeDecks"] = [did] + [a[1] for a in actv] self.col.setMod() + # don't use this, it will likely go away + def update_active(self): + self.select(self.current()["id"]) + def children(self, did: int) -> List[Tuple[Any, Any]]: "All children of did, as (name, id)." name = self.get(did)["name"] diff --git a/pylib/anki/schedv2.py b/pylib/anki/schedv2.py index ebe40446c..f2ad437d9 100644 --- a/pylib/anki/schedv2.py +++ b/pylib/anki/schedv2.py @@ -60,6 +60,7 @@ class Scheduler: return None def reset(self) -> None: + self.col.decks.update_active() self._updateCutoff() self._resetLrn() self._resetRev() diff --git a/pylib/tests/test_decks.py b/pylib/tests/test_decks.py index 1cd1494dd..0236e74e5 100644 --- a/pylib/tests/test_decks.py +++ b/pylib/tests/test_decks.py @@ -25,6 +25,7 @@ def test_basic(): assert deck.decks.active() == [parentId] # let's create a child childId = deck.decks.id("new deck::child") + deck.sched.reset() # it should have been added to the active list assert deck.decks.selected() == parentId assert deck.decks.active() == [parentId, childId]