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