Я использую программу с карточками под названием Anki, написанную на Python. Я хочу написать свой первый аддон. Я новичок в Python. Я не технарь, но у меня есть несколько лет опыта работы с чужим кодом на Java, C++, C# и так далее.
На флэш-карте отображается вопрос, например «Столица Франции?». При нажатии кнопки «Показать ответ» Anki отображает ответ «Париж».
Я хочу захватить этот текст «Париж», прежде чем он будет показан.
Я пришел к этому моменту в коде Anki. В этот момент на карте отображается «Столица Франции?». Ответ по-прежнему пуст. Думаю, я хочу иметь возможность взять «val» (думаю, это «Paris») и использовать его в своем дополнении.
def _getTypedAnswer(self):
self.web.evalWithCallback("typeans ? typeans.value : null", self._onTypedAnswer)
def _onTypedAnswer(self, val):
self.typedAnswer = val
self._showAnswer()
Я гуглил, чтобы попытаться найти значение этого:
("typeans ? typeans.value : null", self._onTypedAnswer)
У меня есть доступ ко всему коду, и я могу предоставить любой код, который может быть полезен респондентам.
Спасибо.
Добавлено: после вопросов ответивших.
Anki можно запустить на компьютере или в Интернете. Все результаты изучения карточек синхронизируются, поэтому для конечного пользователя нет разницы между тем или иным методом.
Из класса "веб-просмотр":
def evalWithCallback(self, js, cb):
self.page().runJavaScript(js, cb)
Класс «Рецензент» показывает вопросы и ответы. Окно рецензента — «mw» (от «главного окна»)
Вот оператор инициализации для класса «обозреватель»
def __init__(self, mw):
self.mw = mw
self.web = mw.web
"typeans ? typeans.value : null"
— это просто строка; все, что использует его как код, находится за пределами Python. Что такоеself.web
? У вас есть кодevalWithCallback
? - person BrenBarn   schedule 15.09.2016