From 99d70cc2a4fd57066cbc2e41bc8a8b0225e313b7 Mon Sep 17 00:00:00 2001 From: David Bailey Date: Sun, 13 Aug 2017 10:05:56 +0100 Subject: [PATCH] Add deleteDecks function --- AnkiConnect.py | 13 +++++++++++++ README.md | 21 +++++++++++++++++++++ 2 files changed, 34 insertions(+) diff --git a/AnkiConnect.py b/AnkiConnect.py index 55a99ed..09937ec 100644 --- a/AnkiConnect.py +++ b/AnkiConnect.py @@ -568,6 +568,14 @@ class AnkiBridge: self.stopEditing() + def deleteDecks(self, decks, cardsToo=False): + self.startEditing() + for deck in decks: + id = self.collection().decks.id(deck) + self.collection().decks.rem(id, cardsToo) + self.stopEditing() + + def cardsToNotes(self, cards): return self.collection().db.list('select distinct nid from cards where id in ' + anki.utils.ids2str(cards)) @@ -861,6 +869,11 @@ class AnkiConnect: return self.anki.changeDeck(cards, deck) + @webApi + def deleteDecks(self, decks, cardsToo=False): + return self.anki.deleteDecks(decks, cardsToo) + + @webApi def cardsToNotes(self, cards): return self.anki.cardsToNotes(cards) diff --git a/README.md b/README.md index 488da6b..9d16bfc 100644 --- a/README.md +++ b/README.md @@ -554,6 +554,27 @@ Below is a list of currently supported actions. Requests with invalid actions or ``` null ``` + +* **deleteDecks** + + Deletes decks with the given names. If `cardsToo` is `true` (defaults to `false` if unspecified), the cards within + the deleted decks will also be deleted; otherwise they will be moved to the default deck. + + *Sample request*: + ``` + { + "action": "deleteDecks", + "params": { + "decks": ["Japanese::JLPT N5", "Easy Spanish"], + "cardsToo": true + } + } + ``` + + *Sample response*: + ``` + null + ``` * **cardsToNotes**