Прототип функции webkit (webkitgtk3), как видно на python из pywebkit

Pywebkit делает интроспекцию из python в webkit. Прототип вызываемых функций связан во время выполнения. Небольшая проблема для разработчиков заключается в том, что вы не увидите прототип в исходном коде. Как вы находите прототип функции? Конкретно "add_event_listener"?

Этот фрагмент кода Python взят из pyjs.org pyjs/runners/giwebkit.py:

702     def addEventListener(self, element, event_name, cb):
703         listener = Callback(element, cb, False)
704         element.add_event_listener(event_name, listener, False)

При работе на fedora 20 выдает эту ошибку:

File "/.../pyjs/runners/giwebkit.py", line 704, in addEventListener
    element.add_event_listener(event_name, listener, False)
TypeError: add_event_listener() takes exactly 5 arguments (4 given)

Как узнать, какие аргументы и их типы передаются в функцию "element.add_event_listener()"? Могу ли я вставить кусок кода Python, чтобы распечатать его?

Я искал, чтобы найти прототип для add_event_listener(), но не мог найти ответ легко. Поэтому я думаю, можем ли мы что-нибудь сделать из вызывающего кода.

Благодарю.

Редактировать: изменить оригинальное название "прототип функции печати Python и / или аргументы, специально для add_event_listener from webkitgtk3", чтобы лучше отразить реальный вопрос.

1 ответ

Решение

Это из того, что HMR предложил в комментарии. Он включает в себя два шага: Шаг 1, иди получить API Webkit:

http://webkitgtk.org/reference/webkitdomgtk/stable/WebKitDOMEventTarget.html

Затем вручную сопоставьте этот интерфейс с интерфейсом python (я думаю, удалив цель * из начала списка аргументов).

Другие вопросы по тегам