Pygin — Python adapter

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

Pygin — Python adapter

Post by DrKnS »

Image

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

Python adapter

Post by techie »

Latest post of the previous page:

Да все эти пляски с бубном как-то поднадоели уже.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Python adapter

Post by techie »

Вроде работает.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Python adapter

Post by techie »

А что за функция GetUserScreen? Её нет в API. https://www.google.com/search?q=site%3A ... userscreen
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Python adapter

Post by DrKnS »

User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Python adapter

Post by techie »

DrKnS wrote: Fri 16 Jun, 2017 12:02 Там.
FCTL_GETUSERSCREEN здесь. Всё равно не очень понятно зачем она. UserScreen - это системный буфер (в противоположность буферу фара с панелями)?
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Python adapter

Post by DrKnS »

techie wrote: Fri 16 Jun, 2017 12:25не очень понятно зачем
Можно по форуму поискать.
Можно закомментировать и посмотреть, что получится.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Python adapter

Post by techie »

Странно оно себя ведёт. Если вызвать SetUserScreen, то содержание консоли под панелями затирается самими панелями. Зачем такое надо? Не логичнее ли переключаться между различными буферами вместо того, чтобы постоянно затирать тот, что на фоне?
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Python adapter

Post by techie »

АОТ параллельный вопрос. Как получить текущий файл на панели из функции OpenW?

Хочется такого:

Code: Select all

current = self.farapi.panel.currentFile
if current:
  print("Current file on Panel:" + current.filename)
Last edited by techie on Sat 17 Jun, 2017 11:35, edited 2 times in total.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Python adapter

Post by DrKnS »

techie wrote: Sat 17 Jun, 2017 10:59 Зачем такое надо?
FCTL_GETUSERSCREEN - это "фар, убери всё свое барахло, я хочу эксклюзивно что-то порисовать в консоли".
FCTL_SETUSERSCREEN - это "фар, я закончил, скопируй вот это всё себе под панели".
techie wrote: Sat 17 Jun, 2017 11:10Как получить текущий файл
Пока никак.
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Python adapter

Post by DrKnS »

Переделал загрузку, теперь "плагином" считается любой файл с "расширением" .far.py, соответственно можно держать несколько в одной папке.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Python adapter

Post by techie »

DrKnS wrote: Sat 17 Jun, 2017 13:21Пока никак.
Dr.-Who.gif
Dr.-Who.gif (448.45 KiB) Viewed 20349 times
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Python adapter

Post by techie »

Может https://cffi.readthedocs.io/en/latest/ может как-то помочь апишечку завернуть в низкоуровневый интерфейс?
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Python adapter

Post by DrKnS »

Не нервничайте, всё будет, но не всё сразу.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Python adapter

Post by techie »

Время заканчивается. Вселенную спасать надо, а нструментов нет.
User avatar
techie
Posts: 795
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 35 times
Been thanked: 6 times

Python adapter

Post by techie »

Шэф, ну что?
User avatar
DrKnS
Posts: 6114
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 12 times
Been thanked: 426 times

Python adapter

Post by DrKnS »

techie wrote: Wed 05 Jul, 2017 06:35ну что?
Сабж, если что, создавался как Proof-of-Concept адаптера, дабы убедиться, что оно реализуемо, работоспособно и т. п.
Мной не двигало стремление в одиночку создать полноценную интерацию с питоном.
Скорее, предоставить минимальный каркас, на базе которого можно потом что-то строить.
Цель эта, в принципе, достигнута, и на этом можно было бы и закончить.

Процесс, однако, оказался весьма затягивающим и доставляющим, так что я продолжу.
Но не стоит ждать каких либо обещаний и сроков: вдохновение может прийти завтра, а может и через год.

Как обычно: код доступен, если присылать патчи @ делать пулл реквесты - дело пойдет быстрее.
Post Reply

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