fix(plugin_system): 踹死几个类型错误

This commit is contained in:
minecraft1024a
2025-11-01 21:03:16 +08:00
parent a6d37e753a
commit 3c847ec304

View File

@@ -374,16 +374,23 @@ class PluginInfo:
"""检查缺失的Python包""" """检查缺失的Python包"""
missing = [] missing = []
for dep in self.python_dependencies: for dep in self.python_dependencies:
dep_obj = dep if isinstance(dep, PythonDependency) else PythonDependency(package_name=dep)
try: try:
__import__(dep.package_name) __import__(dep_obj.package_name)
except ImportError: except ImportError:
if not dep.optional: if not dep_obj.optional:
missing.append(dep) missing.append(dep_obj)
return missing return missing
def get_pip_requirements(self) -> list[str]: def get_pip_requirements(self) -> list[str]:
"""获取所有pip安装格式的依赖""" """获取所有pip安装格式的依赖"""
return [dep.get_pip_requirement() for dep in self.python_dependencies] requirements = []
for dep in self.python_dependencies:
if isinstance(dep, str):
requirements.append(dep)
elif isinstance(dep, PythonDependency):
requirements.append(dep.get_pip_requirement())
return requirements
@dataclass @dataclass