diff --git a/AnkiConnect.py b/AnkiConnect.py index 274bc77..f54a4ee 100644 --- a/AnkiConnect.py +++ b/AnkiConnect.py @@ -417,6 +417,21 @@ class AnkiBridge: return collection.decks.allNames() + def guiBrowse(self, query): + browser = aqt.dialogs.open("Browser", self.window()) + browser.activateWindow() + if query: + query = unicode('"{}"').format(query) + browser.form.searchEdit.lineEdit().setText(query) + browser.onSearch() + return browser.model.cards + + + def guiAddCards(self): + addcards = aqt.dialogs.open("AddCards", self.window()) + addcards.activateWindow() + + # # AnkiConnect # @@ -516,6 +531,13 @@ class AnkiConnect: return API_VERSION + def api_guiBrowse(self, query): + return self.anki.guiBrowse(query) + + + def api_guiAddCards(self): + return self.anki.guiAddCards() + # # Entry # diff --git a/README.md b/README.md index a76bcfb..fb0fb62 100644 --- a/README.md +++ b/README.md @@ -292,6 +292,47 @@ rather than raw JSON. If you are writing raw requests be sure to send valid JSON ] ``` +* **guiBrowse** + + Invokes the card browser and searches for a given query. Returns an array of identifiers of the cards that were found. + + *Sample request*: + ``` + { + action: 'guiBrowse', + params: { + query: 'deck:current' + } + } + ``` + + *Sample response*: + ``` + [ + 1494723142483, + 1494703460437, + 1494703479525, + /* ... */ + ] + ``` + +* **guiAddCards** + + Invokes the AddCards dialog. + + *Sample request*: + ``` + { + action: 'guiAddCards', + params: {} + } + ``` + + *Sample response*: + ``` + null + ``` + * **upgrade** Displays a confirmation dialog box in Anki asking the user if they wish to upgrade AnkiConnect to the latest version