Практическое использование Python в качестве собственного клиента Chrome

В naclports есть интерпретатор Python (для запуска в качестве собственного клиентского приложения Google Chrome).

Есть ли какие-нибудь примеры для связывания интерпретатора с пользовательским приложением Python и как интегрировать это приложение с HTML-страницей?


person Ruediger Jungbeck    schedule 31.12.2013    source источник


Ответы (1)


Интерпретатор в настоящее время является единственным примером Python в naclports. Однако должна быть возможность связать libpython с любым бинарным файлом nacl и использовать его так же, как если бы вы встраивали python в любое другое приложение C/C++. Пара предостережений: вы должны инициализировать nacl_io перед выполнением каких-либо вызовов python, а также вы не должны выполнять вызовы python в основном потоке (PPAPI).

С точки зрения взаимодействия со страницей HTML, как и со всеми приложениями NaCl, это должно выполняться путем отправки сообщений туда и обратно между собственным кодом и кодом javascript с использованием PostMessage(). Невозможно напрямую получить доступ к HTML или JavaScript из собственного кода.

person sbc100    schedule 03.01.2014
comment
Я думаю об использовании того, что уже есть: есть ли способ использовать интерпретатор .pexe как есть (т. е. без модификации или перекомпиляции) и изменить код встраивания html и js (т. е. удалить hterm) для запуска скрипта python ( загружается по http)? Я бы использовал stdio на стороне Python для связи с моим JavaScript - person Ruediger Jungbeck; 04.01.2014
comment
Я думаю, что это должно быть возможно. Взгляните на файл naclterm.js, который является частью примера интерпретатора. Вы можете передать аргументы в python, установив HTML-атрибуты ARG1..ARGN в теге внедрения. Они будут переданы как argv в основную функцию Python. Затем вы можете общаться с python через postMessage в тег embed и обратно (снова см. naclterm.js). - person sbc100; 07.01.2014