Page 12 of 13

Pygin — Python adapter

Posted: Wed 30 Dec, 2015 17:52
by DrKnS
Image

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

Pygin — Python adapter

Posted: Tue 29 Aug, 2017 18:13
by tstr

Latest post of the previous page:

Shmuel, да, адаптер должен по замыслу грузиться до всех возможных плагинов, это ожидаемо.
Shmuel wrote:
Tue 29 Aug, 2017 17:16
что-то придумаем (срочность не обещаю, поскольку в сентябре будет напряжёнка на работе)
ясно, будем пока независимо смотреть, не взбалтывая )

Pygin — Python adapter

Posted: Tue 29 Aug, 2017 20:48
by DrKnS
Shmuel wrote:
Tue 29 Aug, 2017 15:51
ValueError: 113 is not a valid SortModes
Спасибо, поправил.
Теперь в случае custom sort mode PanelInfo.SortMode будет int, а не SortModes. Возможно, не самый лучший вариант, но другого я не знаю.
Shmuel wrote:
Tue 29 Aug, 2017 17:16
Переношу папку helloworld из Plugins в %FARHOME%
Не могу повторить. Решение о том, откуда грузить плагины, как бы принимает Far, а не адаптер, так что у меня даже идей никаких нет.

Pygin — Python adapter

Posted: Tue 29 Aug, 2017 21:04
by Shmuel
DrKnS wrote:
Tue 29 Aug, 2017 20:48
Не могу повторить
Это был ложный багрепорт. То есть описанное поведение действительно наблюдалось, но причиной была установленная у меня в ярлыке папка Фара под ключом /p.

Pygin — Python adapter

Posted: Tue 29 Aug, 2017 21:27
by DrKnS
Shmuel wrote:
Tue 29 Aug, 2017 15:51
После чего Фар можно только прибить
Тоже поправил.

Pygin — Python adapter

Posted: Tue 29 Aug, 2017 21:51
by DrKnS
Shmuel wrote:
Tue 29 Aug, 2017 17:16
модуль "lua" отсутствует в полном соответствии с кодом библиотеки, если интерпретатор Питона уже инициализирован.
То есть, если Pygin загружается до LuaMacro, то py-hash работать не будет.
Не ставя под сомнение код библиотеки, хочу отметить, что у меня почему-то в описанной ситуации работает и py-hash, и пример с "lua:require" выше.

Pygin — Python adapter

Posted: Tue 29 Aug, 2017 22:03
by Shmuel
DrKnS wrote:
Tue 29 Aug, 2017 21:51
Не ставя под сомнение код библиотеки
Ясно, что у вас что-то идёт по-другому, чем на моей системе. Я продебаггировал - в библиотеке примерно такой код (несущественное опущено):

Code: Select all

    /* Initialize Python interpreter */
    if (!Py_IsInitialized()) {
        ..............................
        /* Import 'lua' automatically. */
        luam = PyImport_ImportModule("lua");
        ..............................
    }
Туда у меня не заходит, из-за того, что условие не соблюдается.

Pygin — Python adapter

Posted: Tue 29 Aug, 2017 23:17
by DrKnS
Shmuel wrote:
Tue 29 Aug, 2017 22:03
что-то идёт по-другому, чем на моей системе
Да, действительно.
Вы, скорее всего, работаете с релизной версией, взятой с appveyor, которая использует python36.dll (как и lunatic), а я просто запускал из IDE debug, использущий python36_d.dll.

Pygin — Python adapter

Posted: Thu 07 Sep, 2017 06:41
by techie
Как сложно для Python плагинов ввести автоматические GUID вида plugname/type/name? Например hello-world/menu/main-menu?

В рамках плагина тогда у каждого меню будет просто имя - легко читается и находится.

Pygin — Python adapter

Posted: Thu 07 Sep, 2017 12:47
by HaRT
techie wrote:
Thu 07 Sep, 2017 06:41
ввести автоматические GUID вида plugname/type/name
Это будут уже не GUID.

P.S.
Даже мне уже надоели ваши регулярные высказывания по этому давно человечеством решённому вопросу.
Расскажите, наконец, доходчиво, что у вас за проблема с гуидами. Может её и решать надо совсем другими средствами, чем те, которые вы всё время предлагаете.

Pygin — Python adapter

Posted: Thu 07 Sep, 2017 19:05
by cmd.exe
HaRT wrote:
Thu 07 Sep, 2017 12:47
Это будут уже не GUID.
Почему не будет? Если из ИмениПагина, ИмениБиблиотекиПлагина, РасширенияБиблиотекиПлагина генерировать GUID для временных данных. Данный метод использует Винда в сессиях пользователей. Пусть "Юзер" голову ломает, какой гуид от какого плагина.

Pygin — Python adapter

Posted: Thu 07 Sep, 2017 19:17
by HaRT
cmd.exe wrote:
Thu 07 Sep, 2017 19:05
Почему не будет?
По определению.
cmd.exe wrote:
Thu 07 Sep, 2017 19:05
Пусть "Юзер" голову ломает, какой гуид от какого плагина.
GUID — это техническая информация, она не для обычных юзеров.

Pygin — Python adapter

Posted: Thu 07 Sep, 2017 23:25
by DrKnS
techie wrote:
Thu 07 Sep, 2017 06:41
Как сложно для Python плагинов ввести автоматические GUID вида plugname/type/name?
Вы же по ссылке в вашей подписи уже всё изобрели, пользуйтесь.
Делать это по умолчанию для всех искаропки - я как-то не вижу смысла.

Pygin — Python adapter

Posted: Fri 08 Sep, 2017 13:26
by cmd.exe
HaRT wrote:
Thu 07 Sep, 2017 19:17
По определению.
Уважаемый HaRT, у вас ложная информация. Вы читаете интерпритацию Рускоязычной версии wiki.
Предлагаю прочесть оригинал UUID.
UUID статический в пределах сессии или переменной? В стандарте RFC4122 указано что он статический как переменная. Но при этом всё зависит от реализации того или иного проекта. Ведь UUID может генерировать основной модуль при запуске, и давать ему уникальный индитификатор сам. Согласно Версии 3 и 5. Так-же по стандарту, при совпадении UUID основной модуль должен добавить соль, для перегенирации и назночения новгого UUID. Так-же соль используется при генерации дополнительных гуидов.

Pygin — Python adapter

Posted: Fri 08 Sep, 2017 14:17
by HaRT
cmd.exe wrote:
Fri 08 Sep, 2017 13:26
Вы читаете интерпритацию Рускоязычной версии wiki.
Я читаю много что (и далеко не только Википедию), а вот Вы, очевидно, недостаточно внимательно читаете то, что пишут другие.
techie wrote:
Thu 07 Sep, 2017 06:41
Как сложно для Python плагинов ввести автоматические GUID вида plugname/type/name?
Тут написано не “GUID, сгенерированный на основе plugname/type/name”, а “GUID вида plugname/type/name”, что никак не может соответствовать определению UUID/GUID из той же RFC. На это я и ответил.

Pygin — Python adapter

Posted: Fri 08 Sep, 2017 15:56
by John Doe
DrKnS wrote:
Thu 07 Sep, 2017 23:25
techie wrote:
Thu 07 Sep, 2017 06:41
Как сложно для Python плагинов ввести автоматические GUID вида plugname/type/name?
Вы же по ссылке в вашей подписи уже всё изобрели, пользуйтесь.
Делать это по умолчанию для всех искаропки - я как-то не вижу смысла.
Когда-то за подобное обещали банить)
HaRT wrote:
Fri 08 Sep, 2017 14:17
“GUID, сгенерированный на основе plugname/type/name”
Я не говорю об уникальности, но тут явно страдает такое свойство как постоянство.
В настоящий момент это важно для обращения к функциям плагинов из макросов.

Pygin — Python adapter

Posted: Fri 08 Sep, 2017 16:58
by Shmuel
John Doe wrote:
Fri 08 Sep, 2017 15:56
В настоящий момент это важно для обращения к функциям плагинов из макросов.
Это также важно для баз данных плагинов. При изменении гуида все данные, сохранённые плагином, будут недоступны, и будут созданы новые (roaming + local) базы данных.