ForcePilot/backend/package/yuxi/channel/plugins/loader.py
Kris bab30f2715
Some checks failed
Deploy VitePress site to Pages / build (push) Has been cancelled
Ruff Format Check / Ruff Format & Lint (push) Has been cancelled
Deploy VitePress site to Pages / Deploy (push) Has been cancelled
feat:0715
2026-07-15 12:30:58 +08:00

26 lines
753 B
Python

import importlib
import pkgutil
from yuxi.utils.logging_config import logger
def load_plugins(package_name: str = "yuxi.channel.extensions") -> list[str]:
"""自动扫描并导入内置渠道插件包,触发 define_channel_plugin_entry 注册。"""
loaded: list[str] = []
try:
package = importlib.import_module(package_name)
except ModuleNotFoundError:
logger.warning("Channel plugin package '%s' not found, skipping load", package_name)
return loaded
prefix = f"{package_name}."
for _, module_name, is_pkg in pkgutil.iter_modules(package.__path__, prefix):
if is_pkg:
continue
importlib.import_module(module_name)
loaded.append(module_name)
return loaded