Выполните скрипт Python из Firefox, для очень специфического приложения, просто чтобы Firefox предоставил графическую IDE
Итак, я долго искал тему, но не могу выяснить, возможно ли это или нет. Я подозреваю, что нет, но я должен быть уверен.
Что я делаю: я создаю модное веб-приложение, которое использует xml, xsl и javascript. Тем не менее, мне нужно сделать некоторые преобразования в текстовый файл, чтобы преобразовать его в правильный файл XML. Для этого я использую скрипт на python.
Что мне нужно: я работаю над тем, чтобы максимально упростить использование приложения, но это как бы разрушается, когда пользователь должен выполнить скрипт терминала перед чем-либо. Мне нужна графическая среда IDE для python, но у меня просто нет времени, чтобы научиться создавать ее, и мне бы хотелось, чтобы все приложение работало в одной веб-среде, гораздо более интуитивно понятной для пользователя. Тогда действительно простой способ сделать это - использовать Firefox в качестве IDE, например, выбрать файл, который будет преобразован через него, и запустить оттуда скрипт python.
Что мне требуется: мне нужна совместимость только с Firefox. Но, конечно, любая система, способная установить Python и Firefox, также должна работать. Пользователь с радостью установит обе программы, если у них есть интерес к приложению.
Чего я не знаю: возможно ли выполнить внешний скрипт на python? Если нет, то из соображений безопасности, я полагаю, может ли пользователь разрешить это? Может быть, через установку плагина?
- может быть, http://mozex.mozdev.org/ это то, что я ищу?
Спасибо!
Gerard
2 ответа
Если вы на самом деле используете python в Firefox, а не на стороне сервера, написанной на python (хотя веб-сервер, конечно, может работать локально), я думаю, что pythonext (раньше назывался pyxpcomext) - это то, что вам нужно.
Да, можно выполнить внешний скрипт на python. Вы можете использовать simpleServer ( пример), который получает (Ajax) запрос от вашей страницы и вызывает подпроцесс или файл os.startfile для запуска скрипта. Фактически, вы можете вызвать саму функцию изнутри сервера и вернуть результат (например, как json) на страницу и использовать свой javascript для его обработки.