loader
attribute
loaded_plugin_modules= []
attribute
PLUGIN_CLS= TypeVar('PLUGIN_CLS', bound=Plugin)
func
plugin_entry(plugin_cls, api_name=[], api_version=None) -> PLUGIN_CLS
实例化 ToolDelta 类式插件的主类
Args: plugin_cls (type[Plugin]): 插件主类 api_name (str | list[str], optional): 如果将插件作为 API 插件, 该参数为 API 名, 可以有多个 api_version (VERSION, optional): 插件的 API 版本
Raises: NotValidPluginError: 插件主类必须继承 Plugin 类
Returns: Plugin: 插件主类
param
plugin_clstype[PLUGIN_CLS]
param
api_namestr | list[str]
= []
param
api_versioncfg.VERSION | None
= None
Returns
tooldelta.plugin_load.classic_plugin.loader.PLUGIN_CLS
func
help(plugin) -> None
查看插件帮助. 常用于查看 get_plugin_api() 方法获取到的插件实例的帮助.
param
plugintype[Plugin]
Returns
None
func
read_plugins(plugin_grp) -> None
读取插件
Args: plugin_grp (PluginGroup): 插件组
param
plugin_grpPluginGroup
Returns
None
func
load_plugin(plugin_group, plugin_dirname) -> None | Plugin
加载插件
Args: plugin_group (PluginGroup): 插件组类 plugin_dirname (str): 插件目录名 hot_load (bool, optional): 是否热加载
Raises: ValueError: 插件组未初始化读取 ValueError: 插件组未绑定框架 ValueError: 插件主类需要作者名 ValueError: 插件主类需要作者名 NotValidPluginError: 插件 不合法 SystemExit: 插件名字不合法 SystemExit: 插件配置文件报错 SystemExit: 插件读取数据失败
Returns: Union[None, Plugin]: 插件实例
param
plugin_groupPluginGroup
param
plugin_dirnamestr
Returns
None | tooldelta.plugin_load.classic_plugin.plugin_cls.Plugin