2025-06-20 19:08:06 +08:00
|
|
|
from typing import Any, Literal
|
|
|
|
|
|
2025-01-07 14:20:30 +08:00
|
|
|
from nonebot.compat import model_dump
|
2024-09-03 15:43:09 +08:00
|
|
|
from pydantic import BaseModel
|
2024-09-02 01:50:39 +08:00
|
|
|
|
|
|
|
|
from zhenxun.utils.enum import PluginType
|
|
|
|
|
|
|
|
|
|
type2name: dict[str, str] = {
|
|
|
|
|
"NORMAL": "普通插件",
|
|
|
|
|
"ADMIN": "管理员插件",
|
|
|
|
|
"SUPERUSER": "超级用户插件",
|
|
|
|
|
"ADMIN_SUPERUSER": "管理员/超级用户插件",
|
|
|
|
|
"DEPENDANT": "依赖插件",
|
|
|
|
|
"HIDDEN": "其他插件",
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2025-06-20 19:08:06 +08:00
|
|
|
class GiteeContents(BaseModel):
|
|
|
|
|
"""Gitee Api内容"""
|
|
|
|
|
|
|
|
|
|
type: Literal["file", "dir"]
|
|
|
|
|
"""类型"""
|
|
|
|
|
size: Any
|
|
|
|
|
"""文件大小"""
|
|
|
|
|
name: str
|
|
|
|
|
"""文件名"""
|
|
|
|
|
path: str
|
|
|
|
|
"""文件路径"""
|
|
|
|
|
url: str
|
|
|
|
|
"""文件链接"""
|
|
|
|
|
html_url: str
|
|
|
|
|
"""文件html链接"""
|
|
|
|
|
download_url: str
|
|
|
|
|
"""文件raw链接"""
|
|
|
|
|
|
|
|
|
|
|
2024-09-02 01:50:39 +08:00
|
|
|
class StorePluginInfo(BaseModel):
|
|
|
|
|
"""插件信息"""
|
|
|
|
|
|
2025-06-20 19:08:06 +08:00
|
|
|
name: str
|
|
|
|
|
"""插件名"""
|
2024-09-02 01:50:39 +08:00
|
|
|
module: str
|
2024-09-29 20:47:58 +08:00
|
|
|
"""模块名"""
|
2024-09-02 01:50:39 +08:00
|
|
|
module_path: str
|
2024-09-29 20:47:58 +08:00
|
|
|
"""模块路径"""
|
2024-09-02 01:50:39 +08:00
|
|
|
description: str
|
2024-09-29 20:47:58 +08:00
|
|
|
"""简介"""
|
2024-09-02 01:50:39 +08:00
|
|
|
usage: str
|
2024-09-29 20:47:58 +08:00
|
|
|
"""用法"""
|
2024-09-02 01:50:39 +08:00
|
|
|
author: str
|
2024-09-29 20:47:58 +08:00
|
|
|
"""作者"""
|
2024-09-02 01:50:39 +08:00
|
|
|
version: str
|
2024-09-29 20:47:58 +08:00
|
|
|
"""版本"""
|
2024-09-02 01:50:39 +08:00
|
|
|
plugin_type: PluginType
|
2024-09-29 20:47:58 +08:00
|
|
|
"""插件类型"""
|
2024-09-02 01:50:39 +08:00
|
|
|
is_dir: bool
|
2024-09-29 20:47:58 +08:00
|
|
|
"""是否为文件夹插件"""
|
2025-01-07 14:20:30 +08:00
|
|
|
github_url: str | None = None
|
2024-09-29 20:47:58 +08:00
|
|
|
"""github链接"""
|
2024-09-02 01:50:39 +08:00
|
|
|
|
|
|
|
|
@property
|
|
|
|
|
def plugin_type_name(self):
|
|
|
|
|
return type2name[self.plugin_type.value]
|
2025-01-07 14:20:30 +08:00
|
|
|
|
|
|
|
|
def to_dict(self, **kwargs):
|
|
|
|
|
return model_dump(self, **kwargs)
|