Я использую программу флеш-карты Anki, которая написана на Python. Я хочу написать свое первое дополнение. Я новичок в Python. Я не специалист по технике, но у меня есть несколько лет опыта в прыжках внутри кода других людей на Java, C++, C# и т. Д.Смысл этих аргументов?
На флеш-карте есть вопрос, например, «Капитал Франции?». Когда нажимается кнопка «Показать ответ», Anki отображает ответ «Париж».
Я хочу получить этот текст «Париж», прежде чем он будет показан.
Я пришел к этому моменту в коде Anki. В этот момент на карте отображается «Капитал Франции?». Ответ по-прежнему пуст. Я думаю, что хочу иметь возможность захватить «val» (который, я думаю, «Париж») и использовать его в своем дополнении.
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 можно запускать на компьютере или в Интернете. Все результаты изучения карт синхронизируются, поэтому нет никакой разницы между одним или другим способом в отношении конечного пользователя.
Из класса "Webview":
def evalWithCallback(self, js, cb):
self.page().runJavaScript(js, cb)
"рецензент" класс показывает вопросы и ответы. Окно рецензент «МВТ» (для «главного окна»)
Вот оператор инициализации для класса «рецензент»
def __init__(self, mw):
self.mw = mw
self.web = mw.web
Это не синтаксис Python, но он называется «Ternary if» - см. Https://en.wikipedia.org/wiki/%3F: –
Это, похоже, вызывает какой-то внешний язык, возможно, JavaScript (с учетом " web "в имени метода). Для Python '' typeans? Typeans.value: null "' является просто строкой; независимо от того, что использует его, поскольку код является чем-то вне Python. Что такое 'self.web'? У вас есть код 'evalWithCallback'? – BrenBarn
Я думаю, что self._showAnswer() станет лучшим местом для вашего перехвата. TypedAnswer предлагает вам собирать ... набранный контент. Какой может быть не тот ответ, который появляется при нажатии кнопки, трудно сказать. – dodell