forked from bot/app
87 lines
30 KiB
JavaScript
87 lines
30 KiB
JavaScript
import{_ as p,r as o,o as e,c as i,b as s,d as n,a as l,w as c,e as a}from"./app-BvUYPzLF.js";const u={},r=a(`<h1 id="liteyuki-plugin-load" tabindex="-1"><a class="header-anchor" href="#liteyuki-plugin-load"><span>liteyuki.plugin.load</span></a></h1><p><strong>说明</strong>: Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved</p><p>@Time : 2024/7/23 下午11:59 @Author : snowykami @Email : snowykami@outlook.com @File : load.py @Software: PyCharm</p><h3 id="def-load-plugin-module-path-str-path-optional-plugin" tabindex="-1"><a class="header-anchor" href="#def-load-plugin-module-path-str-path-optional-plugin"><span><em><strong>def</strong></em> <code>load_plugin(module_path: str | Path) -> Optional[Plugin]</code></span></a></h3><p><strong>说明</strong>: 加载单个插件,可以是本地插件或是通过 <code>pip</code> 安装的插件。</p><p><strong>参数</strong>:</p><blockquote><ul><li>module_path: 插件名称 <code>path.to.your.plugin</code></li><li>或插件路径 <code>pathlib.Path(path/to/your/plugin)</code>:</li></ul></blockquote><details><summary><b>源代码</b> 或 <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/plugin/load.py#L30" target="_blank">在GitHub上查看</a></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">def</span> <span class="token function">load_plugin</span><span class="token punctuation">(</span>module_path<span class="token punctuation">:</span> <span class="token builtin">str</span> <span class="token operator">|</span> Path<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> Optional<span class="token punctuation">[</span>Plugin<span class="token punctuation">]</span><span class="token punctuation">:</span>
|
|
<span class="token triple-quoted-string string">"""加载单个插件,可以是本地插件或是通过 \`pip\` 安装的插件。
|
|
|
|
参数:
|
|
module_path: 插件名称 \`path.to.your.plugin\`
|
|
或插件路径 \`pathlib.Path(path/to/your/plugin)\`
|
|
"""</span>
|
|
module_path <span class="token operator">=</span> path_to_module_name<span class="token punctuation">(</span>Path<span class="token punctuation">(</span>module_path<span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token keyword">if</span> <span class="token builtin">isinstance</span><span class="token punctuation">(</span>module_path<span class="token punctuation">,</span> Path<span class="token punctuation">)</span> <span class="token keyword">else</span> module_path
|
|
<span class="token keyword">try</span><span class="token punctuation">:</span>
|
|
module <span class="token operator">=</span> import_module<span class="token punctuation">(</span>module_path<span class="token punctuation">)</span>
|
|
_plugins<span class="token punctuation">[</span>module<span class="token punctuation">.</span>__name__<span class="token punctuation">]</span> <span class="token operator">=</span> Plugin<span class="token punctuation">(</span>name<span class="token operator">=</span>module<span class="token punctuation">.</span>__name__<span class="token punctuation">,</span> module<span class="token operator">=</span>module<span class="token punctuation">,</span> module_name<span class="token operator">=</span>module_path<span class="token punctuation">)</span>
|
|
<span class="token keyword">if</span> module<span class="token punctuation">.</span>__dict__<span class="token punctuation">.</span>get<span class="token punctuation">(</span><span class="token string">'__plugin_metadata__'</span><span class="token punctuation">,</span> <span class="token boolean">None</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
|
|
metadata<span class="token punctuation">:</span> <span class="token string">'PluginMetadata'</span> <span class="token operator">=</span> module<span class="token punctuation">.</span>__dict__<span class="token punctuation">[</span><span class="token string">'__plugin_metadata__'</span><span class="token punctuation">]</span>
|
|
display_name <span class="token operator">=</span> module<span class="token punctuation">.</span>__name__<span class="token punctuation">.</span>split<span class="token punctuation">(</span><span class="token string">'.'</span><span class="token punctuation">)</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span>
|
|
<span class="token keyword">elif</span> module<span class="token punctuation">.</span>__dict__<span class="token punctuation">.</span>get<span class="token punctuation">(</span><span class="token string">'__liteyuki_plugin_meta__'</span><span class="token punctuation">,</span> <span class="token boolean">None</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
|
|
metadata<span class="token punctuation">:</span> <span class="token string">'PluginMetadata'</span> <span class="token operator">=</span> module<span class="token punctuation">.</span>__dict__<span class="token punctuation">[</span><span class="token string">'__liteyuki_plugin_meta__'</span><span class="token punctuation">]</span>
|
|
display_name <span class="token operator">=</span> format_display_name<span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{</span>metadata<span class="token punctuation">.</span>name<span class="token punctuation">}</span></span><span class="token string">(</span><span class="token interpolation"><span class="token punctuation">{</span>module<span class="token punctuation">.</span>__name__<span class="token punctuation">.</span>split<span class="token punctuation">(</span><span class="token string">'.'</span><span class="token punctuation">)</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">}</span></span><span class="token string">)"</span></span><span class="token punctuation">,</span> metadata<span class="token punctuation">.</span><span class="token builtin">type</span><span class="token punctuation">)</span>
|
|
<span class="token keyword">elif</span> module<span class="token punctuation">.</span>__dict__<span class="token punctuation">.</span>get<span class="token punctuation">(</span><span class="token string">'__plugin_meta__'</span><span class="token punctuation">,</span> <span class="token boolean">None</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
|
|
metadata<span class="token punctuation">:</span> <span class="token string">'PluginMetadata'</span> <span class="token operator">=</span> module<span class="token punctuation">.</span>__dict__<span class="token punctuation">[</span><span class="token string">'__plugin_meta__'</span><span class="token punctuation">]</span>
|
|
display_name <span class="token operator">=</span> format_display_name<span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"</span><span class="token interpolation"><span class="token punctuation">{</span>metadata<span class="token punctuation">.</span>name<span class="token punctuation">}</span></span><span class="token string">(</span><span class="token interpolation"><span class="token punctuation">{</span>module<span class="token punctuation">.</span>__name__<span class="token punctuation">.</span>split<span class="token punctuation">(</span><span class="token string">'.'</span><span class="token punctuation">)</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span><span class="token punctuation">}</span></span><span class="token string">)"</span></span><span class="token punctuation">,</span> metadata<span class="token punctuation">.</span><span class="token builtin">type</span><span class="token punctuation">)</span>
|
|
<span class="token keyword">else</span><span class="token punctuation">:</span>
|
|
logger<span class="token punctuation">.</span>opt<span class="token punctuation">(</span>colors<span class="token operator">=</span><span class="token boolean">True</span><span class="token punctuation">)</span><span class="token punctuation">.</span>warning<span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f'The metadata of Liteyuki plugin "</span><span class="token interpolation"><span class="token punctuation">{</span>module<span class="token punctuation">.</span>__name__<span class="token punctuation">}</span></span><span class="token string">" is not specified, use empty.'</span></span><span class="token punctuation">)</span>
|
|
metadata <span class="token operator">=</span> PluginMetadata<span class="token punctuation">(</span>name<span class="token operator">=</span>module<span class="token punctuation">.</span>__name__<span class="token punctuation">)</span>
|
|
display_name <span class="token operator">=</span> module<span class="token punctuation">.</span>__name__<span class="token punctuation">.</span>split<span class="token punctuation">(</span><span class="token string">'.'</span><span class="token punctuation">)</span><span class="token punctuation">[</span><span class="token operator">-</span><span class="token number">1</span><span class="token punctuation">]</span>
|
|
_plugins<span class="token punctuation">[</span>module<span class="token punctuation">.</span>__name__<span class="token punctuation">]</span><span class="token punctuation">.</span>metadata <span class="token operator">=</span> metadata
|
|
logger<span class="token punctuation">.</span>opt<span class="token punctuation">(</span>colors<span class="token operator">=</span><span class="token boolean">True</span><span class="token punctuation">)</span><span class="token punctuation">.</span>success<span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f'Succeeded to load liteyuki plugin "</span><span class="token interpolation"><span class="token punctuation">{</span>display_name<span class="token punctuation">}</span></span><span class="token string">"'</span></span><span class="token punctuation">)</span>
|
|
<span class="token keyword">return</span> _plugins<span class="token punctuation">[</span>module<span class="token punctuation">.</span>__name__<span class="token punctuation">]</span>
|
|
<span class="token keyword">except</span> Exception <span class="token keyword">as</span> e<span class="token punctuation">:</span>
|
|
logger<span class="token punctuation">.</span>opt<span class="token punctuation">(</span>colors<span class="token operator">=</span><span class="token boolean">True</span><span class="token punctuation">)</span><span class="token punctuation">.</span>success<span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f'Failed to load liteyuki plugin "<r></span><span class="token interpolation"><span class="token punctuation">{</span>module_path<span class="token punctuation">}</span></span><span class="token string"></r>"'</span></span><span class="token punctuation">)</span>
|
|
traceback<span class="token punctuation">.</span>print_exc<span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
<span class="token keyword">return</span> <span class="token boolean">None</span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="def-load-plugins-plugin-dir-str-ignore-warning-bool-true-set-plugin" tabindex="-1"><a class="header-anchor" href="#def-load-plugins-plugin-dir-str-ignore-warning-bool-true-set-plugin"><span><em><strong>def</strong></em> <code>load_plugins(*plugin_dir: str, *, ignore_warning: bool = True) -> set[Plugin]</code></span></a></h3><p><strong>说明</strong>: 导入文件夹下多个插件</p><p><strong>参数</strong>:</p><blockquote><ul><li>plugin_dir: 文件夹路径</li><li>ignore_warning: 是否忽略警告,通常是目录不存在或目录为空</li></ul></blockquote><details><summary><b>源代码</b> 或 <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/plugin/load.py#L88" target="_blank">在GitHub上查看</a></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">def</span> <span class="token function">load_plugins</span><span class="token punctuation">(</span><span class="token operator">*</span>plugin_dir<span class="token punctuation">:</span> <span class="token builtin">str</span><span class="token punctuation">,</span> ignore_warning<span class="token punctuation">:</span> <span class="token builtin">bool</span><span class="token operator">=</span><span class="token boolean">True</span><span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> <span class="token builtin">set</span><span class="token punctuation">[</span>Plugin<span class="token punctuation">]</span><span class="token punctuation">:</span>
|
|
<span class="token triple-quoted-string string">"""导入文件夹下多个插件
|
|
|
|
参数:
|
|
plugin_dir: 文件夹路径
|
|
ignore_warning: 是否忽略警告,通常是目录不存在或目录为空
|
|
"""</span>
|
|
plugins <span class="token operator">=</span> <span class="token builtin">set</span><span class="token punctuation">(</span><span class="token punctuation">)</span>
|
|
<span class="token keyword">for</span> dir_path <span class="token keyword">in</span> plugin_dir<span class="token punctuation">:</span>
|
|
<span class="token keyword">if</span> <span class="token keyword">not</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>exists<span class="token punctuation">(</span>dir_path<span class="token punctuation">)</span><span class="token punctuation">:</span>
|
|
<span class="token keyword">if</span> <span class="token keyword">not</span> ignore_warning<span class="token punctuation">:</span>
|
|
logger<span class="token punctuation">.</span>warning<span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"Plugins dir '</span><span class="token interpolation"><span class="token punctuation">{</span>dir_path<span class="token punctuation">}</span></span><span class="token string">' does not exist."</span></span><span class="token punctuation">)</span>
|
|
<span class="token keyword">continue</span>
|
|
<span class="token keyword">if</span> <span class="token keyword">not</span> os<span class="token punctuation">.</span>listdir<span class="token punctuation">(</span>dir_path<span class="token punctuation">)</span><span class="token punctuation">:</span>
|
|
<span class="token keyword">if</span> <span class="token keyword">not</span> ignore_warning<span class="token punctuation">:</span>
|
|
logger<span class="token punctuation">.</span>warning<span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"Plugins dir '</span><span class="token interpolation"><span class="token punctuation">{</span>dir_path<span class="token punctuation">}</span></span><span class="token string">' is empty."</span></span><span class="token punctuation">)</span>
|
|
<span class="token keyword">continue</span>
|
|
<span class="token keyword">if</span> <span class="token keyword">not</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>isdir<span class="token punctuation">(</span>dir_path<span class="token punctuation">)</span><span class="token punctuation">:</span>
|
|
<span class="token keyword">if</span> <span class="token keyword">not</span> ignore_warning<span class="token punctuation">:</span>
|
|
logger<span class="token punctuation">.</span>warning<span class="token punctuation">(</span><span class="token string-interpolation"><span class="token string">f"Plugins dir '</span><span class="token interpolation"><span class="token punctuation">{</span>dir_path<span class="token punctuation">}</span></span><span class="token string">' is not a directory."</span></span><span class="token punctuation">)</span>
|
|
<span class="token keyword">continue</span>
|
|
<span class="token keyword">for</span> f <span class="token keyword">in</span> os<span class="token punctuation">.</span>listdir<span class="token punctuation">(</span>dir_path<span class="token punctuation">)</span><span class="token punctuation">:</span>
|
|
path <span class="token operator">=</span> Path<span class="token punctuation">(</span>os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>join<span class="token punctuation">(</span>dir_path<span class="token punctuation">,</span> f<span class="token punctuation">)</span><span class="token punctuation">)</span>
|
|
module_name <span class="token operator">=</span> <span class="token boolean">None</span>
|
|
<span class="token keyword">if</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>isfile<span class="token punctuation">(</span>path<span class="token punctuation">)</span> <span class="token keyword">and</span> f<span class="token punctuation">.</span>endswith<span class="token punctuation">(</span><span class="token string">'.py'</span><span class="token punctuation">)</span> <span class="token keyword">and</span> <span class="token punctuation">(</span>f <span class="token operator">!=</span> <span class="token string">'__init__.py'</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
|
|
module_name <span class="token operator">=</span> <span class="token string-interpolation"><span class="token string">f'</span><span class="token interpolation"><span class="token punctuation">{</span>path_to_module_name<span class="token punctuation">(</span>Path<span class="token punctuation">(</span>dir_path<span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">}</span></span><span class="token string">.</span><span class="token interpolation"><span class="token punctuation">{</span>f<span class="token punctuation">[</span><span class="token punctuation">:</span><span class="token format-spec">-3]</span><span class="token punctuation">}</span></span><span class="token string">'</span></span>
|
|
<span class="token keyword">elif</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>isdir<span class="token punctuation">(</span>path<span class="token punctuation">)</span> <span class="token keyword">and</span> os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>exists<span class="token punctuation">(</span>os<span class="token punctuation">.</span>path<span class="token punctuation">.</span>join<span class="token punctuation">(</span>path<span class="token punctuation">,</span> <span class="token string">'__init__.py'</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">:</span>
|
|
module_name <span class="token operator">=</span> path_to_module_name<span class="token punctuation">(</span>path<span class="token punctuation">)</span>
|
|
<span class="token keyword">if</span> module_name<span class="token punctuation">:</span>
|
|
load_plugin<span class="token punctuation">(</span>module_name<span class="token punctuation">)</span>
|
|
<span class="token keyword">if</span> _plugins<span class="token punctuation">.</span>get<span class="token punctuation">(</span>module_name<span class="token punctuation">)</span><span class="token punctuation">:</span>
|
|
plugins<span class="token punctuation">.</span>add<span class="token punctuation">(</span>_plugins<span class="token punctuation">[</span>module_name<span class="token punctuation">]</span><span class="token punctuation">)</span>
|
|
<span class="token keyword">return</span> plugins
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details><h3 id="def-format-display-name-display-name-str-plugin-type-plugintype-str" tabindex="-1"><a class="header-anchor" href="#def-format-display-name-display-name-str-plugin-type-plugintype-str"><span><em><strong>def</strong></em> <code>format_display_name(display_name: str, plugin_type: PluginType) -> str</code></span></a></h3><p><strong>说明</strong>: 设置插件名称颜色,根据不同类型插件设置颜色</p><p><strong>参数</strong>:</p><blockquote><ul><li>display_name: 插件名称</li><li>plugin_type: 插件类型</li></ul></blockquote>`,17),k=s("strong",null,"返回",-1),d=a(`<details><summary><b>源代码</b> 或 <a href="https://github.com/LiteyukiStudio/LiteyukiBot/tree/main/liteyuki/plugin/load.py#L132" target="_blank">在GitHub上查看</a></summary><div class="language-python line-numbers-mode" data-ext="py" data-title="py"><pre class="language-python"><code><span class="token keyword">def</span> <span class="token function">format_display_name</span><span class="token punctuation">(</span>display_name<span class="token punctuation">:</span> <span class="token builtin">str</span><span class="token punctuation">,</span> plugin_type<span class="token punctuation">:</span> PluginType<span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> <span class="token builtin">str</span><span class="token punctuation">:</span>
|
|
<span class="token triple-quoted-string string">"""
|
|
设置插件名称颜色,根据不同类型插件设置颜色
|
|
Args:
|
|
display_name: 插件名称
|
|
plugin_type: 插件类型
|
|
|
|
Returns:
|
|
str: 设置后的插件名称 <y>name</y>
|
|
"""</span>
|
|
color <span class="token operator">=</span> <span class="token string">'y'</span>
|
|
<span class="token keyword">match</span> plugin_type<span class="token punctuation">:</span>
|
|
<span class="token keyword">case</span> PluginType<span class="token punctuation">.</span>APPLICATION<span class="token punctuation">:</span>
|
|
color <span class="token operator">=</span> <span class="token string">'m'</span>
|
|
<span class="token keyword">case</span> PluginType<span class="token punctuation">.</span>TEST<span class="token punctuation">:</span>
|
|
color <span class="token operator">=</span> <span class="token string">'g'</span>
|
|
<span class="token keyword">case</span> PluginType<span class="token punctuation">.</span>MODULE<span class="token punctuation">:</span>
|
|
color <span class="token operator">=</span> <span class="token string">'e'</span>
|
|
<span class="token keyword">case</span> PluginType<span class="token punctuation">.</span>SERVICE<span class="token punctuation">:</span>
|
|
color <span class="token operator">=</span> <span class="token string">'c'</span>
|
|
<span class="token keyword">return</span> <span class="token string-interpolation"><span class="token string">f'<</span><span class="token interpolation"><span class="token punctuation">{</span>color<span class="token punctuation">}</span></span><span class="token string">></span><span class="token interpolation"><span class="token punctuation">{</span>display_name<span class="token punctuation">}</span></span><span class="token string"> [</span><span class="token interpolation"><span class="token punctuation">{</span>plugin_type<span class="token punctuation">.</span>name<span class="token punctuation">}</span></span><span class="token string">]</</span><span class="token interpolation"><span class="token punctuation">{</span>color<span class="token punctuation">}</span></span><span class="token string">>'</span></span>
|
|
</code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div></details>`,1);function m(g,_){const t=o("y");return e(),i("div",null,[r,s("p",null,[k,n(": str: 设置后的插件名称 "),l(t,null,{default:c(()=>[n("name")]),_:1})]),d])}const y=p(u,[["render",m],["__file","load.html.vue"]]),b=JSON.parse('{"path":"/dev/api/plugin/load.html","title":"liteyuki.plugin.load","lang":"zh-CN","frontmatter":{"title":"liteyuki.plugin.load","lastUpdated":false,"description":"liteyuki.plugin.load 说明: Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved @Time : 2024/7/23 下午11:59 @Author : snowykami @Email : snowykami@outlook.com @File : load.py...","head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://vuepress-theme-hope-docs-demo.netlify.app/en/dev/api/plugin/load.html"}],["meta",{"property":"og:url","content":"https://vuepress-theme-hope-docs-demo.netlify.app/dev/api/plugin/load.html"}],["meta",{"property":"og:site_name","content":"LiteyukiBot 轻雪机器人"}],["meta",{"property":"og:title","content":"liteyuki.plugin.load"}],["meta",{"property":"og:description","content":"liteyuki.plugin.load 说明: Copyright (C) 2020-2024 LiteyukiStudio. All Rights Reserved @Time : 2024/7/23 下午11:59 @Author : snowykami @Email : snowykami@outlook.com @File : load.py..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2024-08-29T06:19:39.000Z"}],["meta",{"property":"article:modified_time","content":"2024-08-29T06:19:39.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"liteyuki.plugin.load\\",\\"image\\":[\\"\\"],\\"dateModified\\":\\"2024-08-29T06:19:39.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":3,"title":"def load_plugin(module_path: str | Path) -> Optional[Plugin]","slug":"def-load-plugin-module-path-str-path-optional-plugin","link":"#def-load-plugin-module-path-str-path-optional-plugin","children":[]},{"level":3,"title":"def load_plugins(*plugin_dir: str, *, ignore_warning: bool = True) -> set[Plugin]","slug":"def-load-plugins-plugin-dir-str-ignore-warning-bool-true-set-plugin","link":"#def-load-plugins-plugin-dir-str-ignore-warning-bool-true-set-plugin","children":[]},{"level":3,"title":"def format_display_name(display_name: str, plugin_type: PluginType) -> str","slug":"def-format-display-name-display-name-str-plugin-type-plugintype-str","link":"#def-format-display-name-display-name-str-plugin-type-plugintype-str","children":[]}],"git":{"createdTime":1724031826000,"updatedTime":1724912379000,"contributors":[{"name":"snowy","email":"snowykami@outlook.com","commits":5}]},"readingTime":{"minutes":2.19,"words":658},"filePathRelative":"dev/api/plugin/load.md","localizedDate":"2024年8月19日","autoDesc":true}');export{y as comp,b as data};
|