From 60f85a962c5f346edef4df7bedc8f1a3ba1774a0 Mon Sep 17 00:00:00 2001 From: Alex Yatskov Date: Mon, 2 May 2016 16:30:03 -0700 Subject: [PATCH] Expanding API --- yomi_base/anki_connect.py | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/yomi_base/anki_connect.py b/yomi_base/anki_connect.py index 43ba8e4..6f87f69 100644 --- a/yomi_base/anki_connect.py +++ b/yomi_base/anki_connect.py @@ -33,9 +33,10 @@ class AnkiConnect: self.timer.start(interval) self.handlers = { - 'addNote': self.apiAddNote, - 'apiCanAddNote': self.apiCanAddNote, - 'getVersion': self.apiGetVersion, + 'addNote': self.apiAddNote, + 'apiCanAddNote': self.apiCanAddNote, + 'apiCanAddNotes': self.apiCanAddNotes, + 'getVersion': self.apiGetVersion, } @@ -105,6 +106,22 @@ class AnkiConnect: return self.anki.canAddNote(params['deck'], params['model'], params['fields']) + def apiCanAddNotes(self, data): + definitions = data.get('definitions', []) + + for definition in definitions: + definitions['anki'] = results = {} + for mode in ['vocabExp', 'vocabReading', 'kanji']: + params = self.prepareNoteParams(definition, mode) + results[mode] = params is not None and self.anki.canAddNote( + params['deck'], + params['model'], + params['fields'] + ) + + return definitions + + def apiGetVersion(self, data): return {'version': constants.c['appVersion']}