Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 10, 2012 16:32:42

mikey
Зарегистрирован: 2012-10-10
Сообщения: 8
Репутация: +  0  -
Профиль   Отправить e-mail  

Plugins system organization


Всем привет ! Я делаю свою систему управления контента для локальных потребностей фирмы где работаю. Использую Flask в качестве основы. Сейчас я сделал 3 основных компонента: странички, галерея и комментарии. Но так уже сложилось что например админам нужны только странички, HR хочет галерею но без комментариев, а тестерам нужно все.

Я придумал возможное решение: в настройках создал вкладку Плагины где можно будет включать или выключать плагины. А на сервере думаю это организовать так: создать пустой пакет plugins, и складывать туда со временем плагины(другие питоновские модули). И вот тут я застрял: не могу додуматься как мне импортировать плагин, так что-бы я его потом мог использовать с другими частями Flask'a (Flask-Admin, Flask-Login, etc.).

Офлайн

#2 Окт. 14, 2012 14:41:57

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Plugins system organization

Смотри как организуются дистрибутив в Python (distutils/setuptools/distribute) и в них обрати внимание на entry-points. Таким образом, каждый плангин организуется как дистрибутив Python (distutils в батарейках, setuptools/distribute расширяют его и без них сейчас практически никуда, т.е. тоже можно считать неотъемлемой частью любой инсталляции Python) состоящий минимум из: собственно, модуля-плагина и setup.py (наверное даже без модуля можно обойтись :-). Кроме естественного, существует ещё 100500 способов как развернуть такой пакет, для вдохновения можешь посмотреть buildout.

..bw



Отредактировано bw (Окт. 14, 2012 18:14:43)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version