From 565066bbcdd39651c4baf8c165fcce70f43a5efe Mon Sep 17 00:00:00 2001 From: RockChinQ <1010553892@qq.com> Date: Thu, 21 Dec 2023 18:46:48 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=8F=92=E4=BB=B6=E7=9B=B8=E5=85=B3?= =?UTF-8?q?=E4=B8=8A=E6=8A=A5=20API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pkg/plugin/host.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/pkg/plugin/host.py b/pkg/plugin/host.py index 631012a2..9128aa76 100644 --- a/pkg/plugin/host.py +++ b/pkg/plugin/host.py @@ -276,11 +276,23 @@ def install_plugin(repo_url: str): metadata.set_plugin_metadata(repo_label, repo_url, int(time.time()), "HEAD") + # 上报安装记录 + context.get_center_v2_api().plugin.post_install_record( + plugin={ + "name": "unknown", + "remote": repo_url, + "author": "unknown", + "version": "HEAD", + } + ) + def uninstall_plugin(plugin_name: str) -> str: """卸载插件""" if plugin_name not in __plugins__: raise Exception("插件不存在") + + plugin_info = get_plugin_info_for_audit(plugin_name) # 获取文件夹路径 plugin_path = __plugins__[plugin_name]["path"].replace("\\", "/") @@ -290,6 +302,12 @@ def uninstall_plugin(plugin_name: str) -> str: # 删除文件夹 shutil.rmtree("plugins/" + plugin_path) + + # 上报卸载记录 + context.get_center_v2_api().plugin.post_remove_record( + plugin=plugin_info + ) + return "plugins/" + plugin_path @@ -302,6 +320,14 @@ def update_plugin(plugin_name: str): if meta == {}: raise Exception("没有此插件元数据信息,无法更新") + + old_plugin_info = get_plugin_info_for_audit(plugin_name) + + context.get_center_v2_api().plugin.post_update_record( + plugin=old_plugin_info, + old_version=old_plugin_info['version'], + new_version='HEAD', + ) remote_url = meta["source"] if (