32 lines
635 B
Python
32 lines
635 B
Python
from pathlib import Path
|
|
from typing import Dict
|
|
|
|
from cachetools import TTLCache, cached
|
|
|
|
from app.utils.singleton import Singleton
|
|
|
|
|
|
class PluginHelper(metaclass=Singleton):
|
|
"""
|
|
插件市场管理,下载安装插件到本地
|
|
"""
|
|
|
|
@cached(cache=TTLCache(maxsize=1, ttl=1800))
|
|
def get_plugins(self) -> Dict[str, dict]:
|
|
"""
|
|
获取所有插件列表
|
|
"""
|
|
pass
|
|
|
|
def download(self, name: str, dest: Path) -> bool:
|
|
"""
|
|
下载插件到本地
|
|
"""
|
|
pass
|
|
|
|
def install(self, name: str) -> bool:
|
|
"""
|
|
安装插件
|
|
"""
|
|
pass
|