Pygin — Python adapter

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

Pygin — Python adapter

Post by DrKnS » Wed 30 Dec, 2015 17:52

Image

Не прошло и трёх лет, как у меня дошли руки набросать демо для Python.
Умеет добавлять пункт в меню плагинов и показывать сакральную фразу под панелями.

User avatar
DrKnS
Posts: 4618
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 121 times
Contact:

Python adapter

Post by DrKnS » Sat 17 Jun, 2017 13:21

Latest post of the previous page:

techie wrote:
Sat 17 Jun, 2017 10:59
Зачем такое надо?
FCTL_GETUSERSCREEN - это "фар, убери всё свое барахло, я хочу эксклюзивно что-то порисовать в консоли".
FCTL_SETUSERSCREEN - это "фар, я закончил, скопируй вот это всё себе под панели".
techie wrote:
Sat 17 Jun, 2017 11:10
Как получить текущий файл
Пока никак.

User avatar
DrKnS
Posts: 4618
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 121 times
Contact:

Python adapter

Post by DrKnS » Sat 17 Jun, 2017 14:09

Переделал загрузку, теперь "плагином" считается любой файл с "расширением" .far.py, соответственно можно держать несколько в одной папке.

User avatar
techie
Posts: 761
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 28 times
Been thanked: 2 times

Python adapter

Post by techie » Sat 17 Jun, 2017 15:47

DrKnS wrote:
Sat 17 Jun, 2017 13:21
Пока никак.
Dr.-Who.gif
Dr.-Who.gif (448.45 KiB) Viewed 1998 times

User avatar
techie
Posts: 761
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 28 times
Been thanked: 2 times

Python adapter

Post by techie » Sat 17 Jun, 2017 15:53

Может https://cffi.readthedocs.io/en/latest/ может как-то помочь апишечку завернуть в низкоуровневый интерфейс?

User avatar
DrKnS
Posts: 4618
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 121 times
Contact:

Python adapter

Post by DrKnS » Sat 17 Jun, 2017 17:19

Не нервничайте, всё будет, но не всё сразу.

User avatar
techie
Posts: 761
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 28 times
Been thanked: 2 times

Python adapter

Post by techie » Mon 26 Jun, 2017 10:15

Время заканчивается. Вселенную спасать надо, а нструментов нет.

User avatar
techie
Posts: 761
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 28 times
Been thanked: 2 times

Python adapter

Post by techie » Wed 05 Jul, 2017 06:35

Шэф, ну что?

User avatar
DrKnS
Posts: 4618
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 121 times
Contact:

Python adapter

Post by DrKnS » Thu 06 Jul, 2017 23:48

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

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

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

tstr
Posts: 512
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 4 times
Been thanked: 5 times

Python adapter

Post by tstr » Fri 07 Jul, 2017 09:20

Спасибо, и вдохновенья Вам )

User avatar
techie
Posts: 761
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 28 times
Been thanked: 2 times

Python adapter

Post by techie » Fri 07 Jul, 2017 18:31

Портировать интерфейсы Far ручками долго. CFFI может сгенерить обёртки для C, и для С++ есть инструменты, но не компилируется уже совсем у меня в мозгах, да и визуал студии нет. Если бы можно было клонировать код и пересобрать одной командой сразу в Far, то можно было бы попробовать, а так слишком много времени уходит.

Сейчас мне надо сделать обёртку для того, чтобы открыть панель с файликами, которые я получаю по команде git diff, и соответственно обрабатывать префикс git: плагином.

User avatar
techie
Posts: 761
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 28 times
Been thanked: 2 times

Python adapter

Post by techie » Sat 08 Jul, 2017 19:22

Как задать IncludePath правильно, чтобы скомпилялся? https://ci.appveyor.com/project/techton ... ild/1.0.22

User avatar
DrKnS
Posts: 4618
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 121 times
Contact:

Python adapter

Post by DrKnS » Sun 09 Jul, 2017 01:07

set PythonPath=C:\Python36

User avatar
DrKnS
Posts: 4618
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 121 times
Contact:

Python adapter

Post by DrKnS » Sun 09 Jul, 2017 13:28

techie wrote:
Fri 07 Jul, 2017 18:31
Портировать интерфейсы Far ручками долго. CFFI может сгенерить обёртки для C
Вы же ещё недавно жаловались, что какие-то жалкие ууиды - это не пайтонвэй.
А с этим вашим FFI вообще все богомерзкие сишные потроха с явными типами и ручным управлением памятью будут торчать наружу.
И зачем так жить? Лучше тогда сразу на сишечке, там хоть синтаксис проще.

User avatar
techie
Posts: 761
Joined: Mon 03 Oct, 2005 22:42
Has thanked: 28 times
Been thanked: 2 times

Python adapter

Post by techie » Sun 09 Jul, 2017 16:06

А какой альтеративный путь? Есть другие генераторы - https://github.com/pybind/pybind11 например, но я тоже ими не пользуюсь.

User avatar
DrKnS
Posts: 4618
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 121 times
Contact:

Python adapter

Post by DrKnS » Tue 18 Jul, 2017 18:47

techie wrote:
Sun 09 Jul, 2017 16:06
А какой альтеративный путь?
Путь один - ручками.
Механически портировать один в один вредно и бессмысленно.
Например, InputBox, которая пишет строку в переданный адрес и возвращает true/false. В питоне тоже можно извратиться и передать, скажем, пустой список, куда эта строка будет записана, но это маразм и ересь, проще тупо вернуть строку или None, если отменили.

Добавил GetMsg, InputBox, Menu, Message, ShowHelp.
Новые билды - на AppVeyor.

tstr
Posts: 512
Joined: Thu 16 Apr, 2009 16:15
Has thanked: 4 times
Been thanked: 5 times

Python adapter

Post by tstr » Wed 09 Aug, 2017 12:52

DrKnS wrote:
Tue 18 Jul, 2017 18:47
Новые билды - на AppVeyor.
Подскажите, плиз, как именно туда попасть.

User avatar
DrKnS
Posts: 4618
Joined: Thu 04 Aug, 2005 06:44
Location: Kyiv
Has thanked: 4 times
Been thanked: 121 times
Contact:

Python adapter

Post by DrKnS » Wed 09 Aug, 2017 13:35

tstr wrote:
Wed 09 Aug, 2017 12:52
Подскажите, плиз, как именно туда попасть
В шапке ссылка на гитхаб, там, если прокрутить страницу вниз, автоматически показывается readme.md, в верхнем левом углу которого серо-зелёная кнопка с надписью "build passing", которая ведет на AppVeyor. Там жмите на любой job, потом artifacts, потом 7z.

P.S. Добавил кнопку в шапку.

Post Reply

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