PluginManager - Менеджер плагинов

class axipy.PluginManager

Менеджер плагинов.

Примечание

Создание axipy.PluginManager не требуется, используйте объект axipy.plugin_manager.

Пример:

import axipy

# Отслеживание загрузки и выгрузки плагинов
axipy.plugin_manager.loaded.connect(lambda id_: print(f'Загружен плагин {id_}'))
axipy.plugin_manager.unloaded.connect(lambda id_: print(f'Выгружен плагин {id_}'))
plugin_name = 'my_module_id'
# Загрузка плагина
axipy.plugin_manager.load(plugin_name)
# Получение кортежа идентификаторов доступных плагинов
ids = axipy.plugin_manager.ids()
# Получение информации о плагине
pi = axipy.plugin_manager.info(plugin_name)
print(pi.name, pi.author, pi.path)

Методы:

ids()

Кортеж идентификаторов плагинов.

info(plugin_id)

Информация о плагине.

is_loaded(plugin_id)

Загружен ли плагин.

load(plugin_id)

Загрузка плагина.

unload(plugin_id)

Выгрузка плагина.

Сигналы:

loaded

Плагин успешно загружен.

unloaded

Плагин успешно выгружен.

ids() Tuple[str, ...]

Кортеж идентификаторов плагинов.

info(plugin_id: str) PluginInfo

Информация о плагине.

Параметры:

plugin_id – Идентификатор плагина.

Исключение:

ValueError – Если плагин не найден.

is_loaded(plugin_id: str) bool

Загружен ли плагин.

Параметры:

plugin_id – Идентификатор плагина.

Результат:

True если плагин загружен. В противном случае False, также, если плагин отсутствует.

load(plugin_id: str)

Загрузка плагина. При ошибке выбрасывается исключение.

Параметры:

plugin_id – Идентификатор плагина.

Исключение:

ValueError – Если плагин не найден.

property loaded: Signal

Плагин успешно загружен.

Тип результата:

Signal[str], где str - идентификатор плагина.

unload(plugin_id: str)

Выгрузка плагина.

Параметры:

plugin_id – Идентификатор плагина.

Исключение:

ValueError – Если плагин не найден.

property unloaded: Signal

Плагин успешно выгружен.

Тип результата:

Signal[str], где str - идентификатор плагина.