#python #pyqt5 #anki
Вопрос:
Я пытаюсь создать аддон, который может просматривать через определенный тег все заметки в моей коллекции anki, и когда он найдет тег — вытащите слово из поля фокуса, найдите это слово в jisho, а затем добавьте значение из jisho в поле значения. Я протестировал веб-скребок, и он работает, но я изо всех сил пытаюсь взаимодействовать с анки.
Я написал приведенный ниже код на основе документации anki
def return_search(word): html = f"https://jisho.org/word/{word}" webpage = requests.get(html).content soup = BeautifulSoup(webpage, "html.parser") meanings_list = [] meanings = soup.find_all(attrs = {"class": "meaning-meaning"}) for count, item in enumerate(meanings): meanings_list.append(f"{count 1}) {item.get_text()}") meanings_list = 'nn'.join(meanings_list) return meanings_list def testFunction() -gt; None: ids = mw.col.find_cards("tag:jpzr") for _id in ids: note = mw.col.getNote(_id) meaning_list = return_search(note["Focus"]) note["Meaning"] = meaning_list note.flush() # create a new menu item, "test" action = QAction("test", mw) # set it to call testFunction when it's clicked qconnect(action.triggered, testFunction) # and add it to the tools menu mw.form.menuTools.addAction(action)
Я получаю ошибку в строке 27, которая является
note = mw.col.getNote(_id)
Я не знаю, почему он неправильно обращается к заметкам, а документации анки так не хватает. Это сообщение об ошибке, которое я получаю:
Caught exception: Traceback (most recent call last): File "C:UsersaaronAppDataRoamingAnki2addons21myaddon__init__.py", line 33, in testFunction note = mw.col.getNote(_id) File "ankicollection.py", line 309, in getNote File "ankinotes.py", line 34, in __init__ File "ankinotes.py", line 40, in load File "ankirsbackend_gen.py", line 350, in get_note File "ankirsbackend.py", line 267, in _run_command anki.rsbackend.NotFoundError