Pygin — Python adapter
Python adapter
Latest post of the previous page:
Code: Select all
AttributeError: 'NoneType' object has no attribute 'PluginMenuItems'
Code: Select all
GetPluginInfoW did not return `PluginInfo' structure
Python adapter
Code: Select all
╔═ Pygin: std::exception ═╗
║ bad cast ║
╟─────────────────────────╢
║ { OK } ║
╚═════════════════════════╝
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Python adapter
Ну да, не создается, я как бы в курсе.
Тип класса ищется по имени ("FarPluginClass", да), потом этот тип инстанцируется адаптером.
Можно было просто сразу назвать класс не HelloWorldPlugin, а FarPluginClass. Как сейчас - это типа typedef.
Ok.techie wrote:лучше без лишних импортов
В архиве лежит пример, как надо делать. Делайте так же, вылетать не будет.
Python adapter
Это не питон, а шаманство какое-то. Не понимаю, в чём проблема. В том, что теперь надо обязательно использовать тип uuid из стандартной библиотеки? В питоне строгая типизация считается дурным тоном. Он хорош именно из-за duck typing.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Python adapter
Весьма верно подмечено, это не питон. Это интеграция питона с совсем-не-питоном.
У себя в питоне можно как угодно, но при выходе из функции питон заканчивается и duck typing заканчивается, а strong typing начинается.
Python adapter
Я не очень горю становиться адептом очередного карго культа.
1. Что будет с Far, если плагиновый и менюшный GUID не указаны?
2. Почему Far не чекает плагины на дублицирующиеся GUIDы, и не предупреждает/вываливается, если для него это так важно?
3. Почему Far не может генерить GUID сам по адресу плагина в памяти + номеру строки меню, возвращаемого в GetPluginInfoW?
4. Зачем GUID надо писать с минусами строкой в 36 символов? Почему нельзя использовать строку с любой длиной?
5. Зачем ограничивать символы в GUID A-F, если хочется больше уникальности?
Пока я не получил ответы на эти вопросы.
1. Что будет с Far, если плагиновый и менюшный GUID не указаны?
2. Почему Far не чекает плагины на дублицирующиеся GUIDы, и не предупреждает/вываливается, если для него это так важно?
3. Почему Far не может генерить GUID сам по адресу плагина в памяти + номеру строки меню, возвращаемого в GetPluginInfoW?
4. Зачем GUID надо писать с минусами строкой в 36 символов? Почему нельзя использовать строку с любой длиной?
5. Зачем ограничивать символы в GUID A-F, если хочется больше уникальности?
Пока я не получил ответы на эти вопросы.
Python adapter
Не знаю я почему это оффтопик здесь. В контексте питон адаптера эти гуиды как кость в горле. Я видел много binding'ов к C и С++ продуктам, много плагинов на питоне инетерфейсов для реализации. Опустим момент, что нигде для идентификации плагинов и меню не использовались гуиды. Более важно, что каждый раз подробно объяснялись особенности использования питона, и с какими архитектурными решениями это связно. Если важно сохранять ссылки, то объяснялось, кто и как их собирает. Если были дурные интерфейсы для С++, но приводился пример проблемы, которая всплывает, если их убрать.
Я не вижу смысла задавать прекрасные вопросы в общем виде в темах, кто народ не горит желанием копать и отвечать на них. Лучше решать их в контексте конкретных реализаций, и здесь они конкретно про Python адаптер. С другой целью меня эти гуиды больше не интересуют.
Я не вижу смысла задавать прекрасные вопросы в общем виде в темах, кто народ не горит желанием копать и отвечать на них. Лучше решать их в контексте конкретных реализаций, и здесь они конкретно про Python адаптер. С другой целью меня эти гуиды больше не интересуют.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Python adapter
Кому-то налоги как кость в горле.
Кому-то ПДД как кость в горле.
Кому-то соседи как кость в горле.
Однако, если вы хотите пользоваться благами цивилизации, то на это горло приходится наступать и делать так, как все.
Гуиды в фаре используются для идентификации плагинов, независимо от особенностей языка и особенностей автора.
- DrKnS
- Posts: 6114
- Joined: Thu 04 Aug, 2005 06:44
- Location: Kyiv
- Has thanked: 12 times
- Been thanked: 426 times
Python adapter
Как обычно - по наличию его в тех меню, в которых он должен быть.
В свойствах файла. Фар её пока отображать не умеет.версию самого адаптера?
Python adapter
На работает новый интерфейс. Выдаёт мусор в меню вместо названия.
Last edited by DrKnS on Mon 12 Jun, 2017 20:27, edited 1 time in total.
Reason: [c] -> [code]
Reason: [c] -> [code]