PagerMaid-Pyro/pagermaid/modules/__init__.py
xtaodada a941308d17
Some checks failed
Docker Dev Build / docker build and publish (push) Failing after 13s
Docker Build / docker build and publish (push) Failing after 11s
🔖 Update to v1.5.0
这是一项破坏性变更,目录结构进行了重组,无核心功能变化
2024-09-28 22:01:40 +08:00

44 lines
1.4 KiB
Python

""" PagerMaid module and plugin init. """
from glob import glob
from os import getcwd, makedirs, sep
from os.path import dirname, basename, isfile, exists
from pagermaid.utils import lang, logs
def __list_modules():
module_paths = glob(f"{dirname(__file__)}{sep}*.py")
return [
basename(file)[:-3]
for file in module_paths
if isfile(file) and file.endswith(".py") and not file.endswith("__init__.py")
]
def __list_plugins():
plugin_paths = glob(f"{getcwd()}{sep}plugins" + f"{sep}*.py")
if not exists(f"{getcwd()}{sep}plugins"):
makedirs(f"{getcwd()}{sep}plugins")
return [
basename(file)[:-3]
for file in plugin_paths
if isfile(file) and file.endswith(".py") and not file.endswith("__init__.py")
]
module_list_string = "".join(f"{module}, " for module in sorted(__list_modules()))
module_list_string = module_list_string[:-2]
plugin_list_string = "".join(f"{plugin}, " for plugin in sorted(__list_plugins()))
plugin_list_string = plugin_list_string[:-2]
module_list = sorted(__list_modules())
plugin_list = sorted(__list_plugins())
logs.info(f"{lang('modules_init_loading_modules')}: {module_list_string}")
if len(plugin_list) > 0:
logs.info(f"{lang('modules_init_loading_plugins')}: {plugin_list_string}")
__all__ = __list_modules() + ["module_list"] + __list_plugins() + ["plugin_list"]