Pygin — Python adapter

Место, где разработчики плагинов могут поделиться своим опытом.
Post Reply
User avatar
DrKnS
Posts: 5690
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 314 times

Pygin — Python adapter

Post by DrKnS »

Image

Не прошло и трёх лет, как у меня дошли руки набросать демо для Python.
Умеет добавлять пункт в меню плагинов и показывать сакральную фразу под панелями.
User avatar
techie
Posts: 782
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 33 times
Been thanked: 4 times

Адаптеры (или плагины на любых языках и с любым интерфейсом)

Post by techie »

DrKnS wrote: В аттаче пример для Python. Умеет добавлять пункт в меню плагинов и показывать сакральную фразу под панелями.
Я понимаю, шо новый год, но это ж прям праздник какой-то. =) Только бы вот если бы он ещё не крэшился.
Last edited by techie on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: [spoiler]
User avatar
DrKnS
Posts: 5690
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 314 times

Адаптеры (или плагины на любых языках и с любым интерфейсом)

Post by DrKnS »

techie wrote: Только бы вот если бы он ещё не крэшился.
Питон не нашло? Фар, старее, чем сегодняшний 4498, будет падать, если не нашло.
Надо версия 3.5 и чтобы в %PATH% путь прописан был, см. readme.
tstr
Posts: 535
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 10 times
Been thanked: 9 times

Адаптеры (или плагины на любых языках и с любым интерфейсом)

Post by tstr »

эх, если бы в _macroinit.lua эти пути выставлять...
User avatar
techie
Posts: 782
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 33 times
Been thanked: 4 times

Адаптеры (или плагины на любых языках и с любым интерфейсом)

Post by techie »

DrKnS wrote: Питон не нашло? Фар, старее, чем сегодняшний 4498, будет падать, если не нашло.
4498 уже не падает.
DrKnS wrote: Надо версия 3.5 и чтобы в %PATH% путь прописан был, см. readme.
Класс. Работает. =)

А нельзя выбрать с какой версией дружить? Или выбрать её автоматом в расчёте на то, что питоновский код совместим между версиями.

Когда ошибка в скрипте, непонятно как дебажить. Всё что есть это .

Не перегружается плагин, если отредактировать его. Неудобно.
Last edited by techie on Thu 01 Jan, 1970 01:00, edited 0 times in total.
Reason: [code], [spoiler]
User avatar
DrKnS
Posts: 5690
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 314 times

Адаптеры (или плагины на любых языках и с любым интерфейсом)

Post by DrKnS »

techie wrote: А нельзя выбрать с какой версией дружить? Или выбрать её автоматом в расчёте на то, что питоновский код совместим между версиями.
Нельзя, увы. Линкуется с pythonNN.dll статически, другого способа я не знаю.
techie wrote: Когда ошибка в скрипте, непонятно как дебажить. Всё что есть это вот.
Ошибка выводится в stdout. Если запусить с погашенными панелями, будет видно.
User avatar
HaRT
Moderator
Posts: 9568
Joined: Tue 30 Aug, 2005 17:21
Location: Санкт-Петербург
Has thanked: 112 times
Been thanked: 232 times

Адаптеры (или плагины на любых языках и с любым интерфейсом)

Post by HaRT »

DrKnS wrote: другого способа я не знаю
Интересно, как PTVS дружит с несколькими экземплярами установленного питона на выбор…
Фар есть инструмент, а не нянька. © 2009 DrKnS
gotar
Posts: 327
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times
Been thanked: 1 time

Использование адаптера питона

Post by gotar »

Создаю каталог helloworld. В него записываю __init__.py из архива. Делаю load:helloworld. В меню по f11 ничего не появляется. Что я делаю не так? Если каталог helloworld переписать в %FARHOME%\Plugins и перезапустить far, то все работает.
User avatar
DrKnS
Posts: 5690
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 314 times

Использование адаптера питона

Post by DrKnS »

load:__init__.py
gotar
Posts: 327
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times
Been thanked: 1 time

Использование адаптера питона

Post by gotar »

Можно ли таким образом загрузить другой плагин на питоне и чем он должен отличаться от первого?
User avatar
DrKnS
Posts: 5690
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 314 times

Использование адаптера питона

Post by DrKnS »

С этой версией будет можно.
Отличаться должен гуидом.
Точек в именах папок быть не должно.
gotar
Posts: 327
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times
Been thanked: 1 time

Использование адаптера питона

Post by gotar »

unload: реализован?
User avatar
DrKnS
Posts: 5690
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 314 times

Использование адаптера питона

Post by DrKnS »

Наверное, попробуй.
gotar
Posts: 327
Joined: Sun 06 Sep, 2009 12:34
Has thanked: 9 times
Been thanked: 1 time

Использование адаптера питона

Post by gotar »

У меня не получается изменить текст, печатываемый плагином, без перезагрузки Фара.

Нельзя ли сделать так, чтобы в load: можно было указывать имя каталога, содержащего __init.py__ , чтобы было видно какой plugin грузится?
User avatar
DrKnS
Posts: 5690
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 9 times
Been thanked: 314 times

Использование адаптера питона

Post by DrKnS »

gotar wrote: У меня не получается изменить текст, печатываемый плагином, без перезагрузки Фара.
Питон не особо умеет выгрузку вообще. Но перегрузить вроде бы можно. Версия в шапке обновлена.
gotar wrote: Нельзя ли сделать так, чтобы в load: можно было указывать имя каталога, содержащего __init.py__ , чтобы было видно какой plugin грузится?
Можно запускать load:имя_папки\__init__.py из папки уровнем выше, например.
Post Reply

Return to “Разработка плагинов”