re-style: 格式化代码

This commit is contained in:
John Richard
2025-10-02 20:26:01 +08:00
parent ecb02cae31
commit 7923eafef3
263 changed files with 3103 additions and 3123 deletions

View File

@@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
"""
本模块包含一个从Python包的“安装名”到其“导入名”的映射。

View File

@@ -1,4 +1,3 @@
from typing import Optional
from src.common.logger import get_logger
logger = get_logger("dependency_config")
@@ -66,7 +65,7 @@ class DependencyConfig:
# 全局配置实例
_global_dependency_config: Optional[DependencyConfig] = None
_global_dependency_config: DependencyConfig | None = None
def get_dependency_config() -> DependencyConfig:

View File

@@ -1,8 +1,9 @@
import subprocess
import sys
import importlib
import importlib.util
from typing import List, Tuple, Optional, Any
import subprocess
import sys
from typing import Any
from packaging import version
from packaging.requirements import Requirement
@@ -19,7 +20,7 @@ class DependencyManager:
负责检查和自动安装插件的Python包依赖
"""
def __init__(self, auto_install: bool = True, use_mirror: bool = False, mirror_url: Optional[str] = None):
def __init__(self, auto_install: bool = True, use_mirror: bool = False, mirror_url: str | None = None):
"""初始化依赖管理器
Args:
@@ -46,7 +47,7 @@ class DependencyManager:
self.mirror_url = mirror_url or ""
self.install_timeout = 300
def check_dependencies(self, dependencies: Any, plugin_name: str = "") -> Tuple[bool, List[str], List[str]]:
def check_dependencies(self, dependencies: Any, plugin_name: str = "") -> tuple[bool, list[str], list[str]]:
"""检查依赖包是否满足要求
Args:
@@ -69,7 +70,7 @@ class DependencyManager:
logger.info(f"{log_prefix}缺少依赖包: {dep.get_pip_requirement()}")
missing_packages.append(dep.get_pip_requirement())
except Exception as e:
error_msg = f"检查依赖 {dep.package_name} 时发生错误: {str(e)}"
error_msg = f"检查依赖 {dep.package_name} 时发生错误: {e!s}"
error_messages.append(error_msg)
logger.error(f"{log_prefix}{error_msg}")
@@ -84,7 +85,7 @@ class DependencyManager:
return all_satisfied, missing_packages, error_messages
def install_dependencies(self, packages: List[str], plugin_name: str = "") -> Tuple[bool, List[str]]:
def install_dependencies(self, packages: list[str], plugin_name: str = "") -> tuple[bool, list[str]]:
"""自动安装缺失的依赖包
Args:
@@ -115,7 +116,7 @@ class DependencyManager:
logger.error(f"{log_prefix}❌ 安装失败: {package}")
except Exception as e:
failed_packages.append(package)
logger.error(f"{log_prefix}❌ 安装 {package} 时发生异常: {str(e)}")
logger.error(f"{log_prefix}❌ 安装 {package} 时发生异常: {e!s}")
success = len(failed_packages) == 0
if success:
@@ -125,7 +126,7 @@ class DependencyManager:
return success, failed_packages
def check_and_install_dependencies(self, dependencies: Any, plugin_name: str = "") -> Tuple[bool, List[str]]:
def check_and_install_dependencies(self, dependencies: Any, plugin_name: str = "") -> tuple[bool, list[str]]:
"""检查并自动安装依赖(组合操作)
Args:
@@ -163,7 +164,7 @@ class DependencyManager:
return False, all_errors
@staticmethod
def _normalize_dependencies(dependencies: Any) -> List[PythonDependency]:
def _normalize_dependencies(dependencies: Any) -> list[PythonDependency]:
"""将依赖列表标准化为PythonDependency对象"""
normalized = []
@@ -277,7 +278,7 @@ class DependencyManager:
# 全局依赖管理器实例
_global_dependency_manager: Optional[DependencyManager] = None
_global_dependency_manager: DependencyManager | None = None
def get_dependency_manager() -> DependencyManager:
@@ -288,7 +289,7 @@ def get_dependency_manager() -> DependencyManager:
return _global_dependency_manager
def configure_dependency_manager(auto_install: bool = True, use_mirror: bool = False, mirror_url: Optional[str] = None):
def configure_dependency_manager(auto_install: bool = True, use_mirror: bool = False, mirror_url: str | None = None):
"""配置全局依赖管理器"""
global _global_dependency_manager
_global_dependency_manager = DependencyManager(

View File

@@ -5,7 +5,8 @@
"""
import re
from typing import Dict, Any, Tuple
from typing import Any
from src.common.logger import get_logger
from src.config.config import MMC_VERSION
@@ -70,7 +71,7 @@ class VersionComparator:
return normalized
@staticmethod
def parse_version(version: str) -> Tuple[int, int, int]:
def parse_version(version: str) -> tuple[int, int, int]:
"""解析版本号为元组
Args:
@@ -109,7 +110,7 @@ class VersionComparator:
return 0
@staticmethod
def check_forward_compatibility(current_version: str, max_version: str) -> Tuple[bool, str]:
def check_forward_compatibility(current_version: str, max_version: str) -> tuple[bool, str]:
"""检查向前兼容性(仅使用兼容性映射表)
Args:
@@ -131,7 +132,7 @@ class VersionComparator:
return False, ""
@staticmethod
def is_version_in_range(version: str, min_version: str = "", max_version: str = "") -> Tuple[bool, str]:
def is_version_in_range(version: str, min_version: str = "", max_version: str = "") -> tuple[bool, str]:
"""检查版本是否在指定范围内,支持兼容性检查
Args:
@@ -195,7 +196,7 @@ class VersionComparator:
logger.info(f"添加兼容性映射:{base_normalized} -> {compatible_versions}")
@staticmethod
def get_compatibility_info() -> Dict[str, list]:
def get_compatibility_info() -> dict[str, list]:
"""获取当前的兼容性映射表
Returns:
@@ -232,7 +233,7 @@ class ManifestValidator:
self.validation_errors = []
self.validation_warnings = []
def validate_manifest(self, manifest_data: Dict[str, Any]) -> bool:
def validate_manifest(self, manifest_data: dict[str, Any]) -> bool:
"""验证manifest数据
Args:
@@ -266,7 +267,7 @@ class ManifestValidator:
if "name" not in author or not author["name"]:
self.validation_errors.append("作者信息缺少name字段或为空")
# url字段是可选的
if "url" in author and author["url"]:
if author.get("url"):
url = author["url"]
if not (url.startswith("http://") or url.startswith("https://")):
self.validation_warnings.append("作者URL建议使用完整的URL格式")
@@ -305,7 +306,7 @@ class ManifestValidator:
# 检查URL格式可选字段
for url_field in ["homepage_url", "repository_url"]:
if url_field in manifest_data and manifest_data[url_field]:
if manifest_data.get(url_field):
url: str = manifest_data[url_field]
if not (url.startswith("http://") or url.startswith("https://")):
self.validation_warnings.append(f"{url_field}建议使用完整的URL格式")

View File

@@ -4,19 +4,19 @@
提供方便的权限检查装饰器,用于插件命令和其他需要权限验证的地方。
"""
from collections.abc import Callable
from functools import wraps
from typing import Callable, Optional
from inspect import iscoroutinefunction
from src.chat.message_receive.chat_stream import ChatStream
from src.plugin_system.apis.logging_api import get_logger
from src.plugin_system.apis.permission_api import permission_api
from src.plugin_system.apis.send_api import text_to_stream
from src.plugin_system.apis.logging_api import get_logger
from src.chat.message_receive.chat_stream import ChatStream
logger = get_logger(__name__)
def require_permission(permission_node: str, deny_message: Optional[str] = None):
def require_permission(permission_node: str, deny_message: str | None = None):
"""
权限检查装饰器
@@ -90,7 +90,7 @@ def require_permission(permission_node: str, deny_message: Optional[str] = None)
return decorator
def require_master(deny_message: Optional[str] = None):
def require_master(deny_message: str | None = None):
"""
Master权限检查装饰器
@@ -186,9 +186,7 @@ class PermissionChecker:
return permission_api.is_master(chat_stream.platform, chat_stream.user_info.user_id)
@staticmethod
async def ensure_permission(
chat_stream: ChatStream, permission_node: str, deny_message: Optional[str] = None
) -> bool:
async def ensure_permission(chat_stream: ChatStream, permission_node: str, deny_message: str | None = None) -> bool:
"""
确保用户拥有指定权限如果没有权限会发送消息并返回False
@@ -209,7 +207,7 @@ class PermissionChecker:
return has_permission
@staticmethod
async def ensure_master(chat_stream: ChatStream, deny_message: Optional[str] = None) -> bool:
async def ensure_master(chat_stream: ChatStream, deny_message: str | None = None) -> bool:
"""
确保用户为Master用户如果不是会发送消息并返回False