70 lines
1.9 KiB
Plaintext
70 lines
1.9 KiB
Plaintext
|
|
from .http import *
|
||
|
|
import json,functools
|
||
|
|
class util:
|
||
|
|
def api(func):
|
||
|
|
@functools.wraps(func)
|
||
|
|
def wrapper(self,**kwargs):
|
||
|
|
self._api({"params" : kwargs , "action":func.__name__ })
|
||
|
|
self.res = func(self, **kwargs) or self.res
|
||
|
|
return self.res
|
||
|
|
return wrapper
|
||
|
|
class AnkiClient(Http):
|
||
|
|
util = util
|
||
|
|
def __init__(self, url = None):
|
||
|
|
Http.__init__(self)
|
||
|
|
self.url = url or 'http://127.0.0.1:8765'
|
||
|
|
self._version = None
|
||
|
|
self.res = None
|
||
|
|
def _api(self, data):
|
||
|
|
if self._version and type(self._version) == int:
|
||
|
|
data["version"] = self._version
|
||
|
|
data = json.dumps(data)
|
||
|
|
res = self._post(self.url, data)
|
||
|
|
self.res = json.loads(res)
|
||
|
|
return self.res
|
||
|
|
@util.api
|
||
|
|
def version(self):
|
||
|
|
self._version = self.res
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def deckNames(self):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def modelNames(self):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def modelFieldNames(self, modelName = "示例牌组"):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def modelFieldDescriptions(self, modelName = "示例牌组"):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def modelTemplates(self, modelName = "示例牌组"):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def addNote(self, note = {}):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def findNotes(self, query = "note:basic"):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def updateNote(self, note = {}):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def updateNoteTags(self, note = {}, tags = []):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def notesInfo(self, notes = []):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def findCards(self, query = "deck:示例牌组"):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def cardsInfo(self, cards = []):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def updateNoteFields(self, note = {}):
|
||
|
|
pass
|
||
|
|
@util.api
|
||
|
|
def createModel(self, modelName = "basic", inOrderFields = {}, cardTemplates = {}, css = None, isCloze = False):
|
||
|
|
pass
|