Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 9, 2009 22:18:48

nJLyTo
От:
Зарегистрирован: 2008-11-11
Сообщения: 60
Репутация: +  0  -
Профиль   Отправить e-mail  

Принцип работы с плагинами

Возникла необходимость написать программу с поддержкой плагинов. Почитав статьи, я сделал небольшие наброски будущей программы, но в силу того, что не имею опыта работы с плагинами, вопрос для меня остался открытым. Возможно, что кто-то сталкивался с такой задачей, и имеет идеи по этому поводу.

Основная программа:

pl = __import__('some_plugin').PlugInMainClass()
pl.run()
Реализация плагина (some_plugin)
class PlugInMainClass:
def __init__():
self.text = u'My plugin'
def run():
print self.text
И в завершении хотелось бы спросить, как получить экземпляр основного класса загруженного модуля, когда имя класса заранее неизвестно?



Офлайн

#2 Апрель 9, 2009 22:51:32

qwer
От:
Зарегистрирован: 2009-03-30
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Принцип работы с плагинами

:) http://python.su/forum/viewtopic.php?id=4164

получить доступ к содержимомму модуля можно через module.__dict__
в общем модуле можно определить класс-предок всех плагинов, потом перебрать все содержимое загруженного модуля через module.__dict__.items(), проверить является ли каждый item классом-потомком общего предка плагинов.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version