PagerMaid-Discord/pagermaid/modules/__init__.py

50 lines
1.4 KiB
Python
Raw Normal View History

2021-07-25 06:00:08 +00:00
""" PagerMaid module and plugin init. """
from os.path import dirname, basename, isfile, exists
from os import getcwd, makedirs
from glob import glob
from pagermaid import logs
def __list_modules():
module_paths = glob(dirname(__file__) + "/*.py")
result = [
basename(file)[:-3]
for file in module_paths
if isfile(file) and file.endswith(".py") and not file.endswith("__init__.py")
]
return result
def __list_plugins():
plugin_paths = glob(f"{getcwd()}/plugins" + "/*.py")
if not exists(f"{getcwd()}/plugins"):
makedirs(f"{getcwd()}/plugins")
result = [
basename(file)[:-3]
for file in plugin_paths
if isfile(file) and file.endswith(".py") and not file.endswith("__init__.py")
]
return result
module_list_string = ""
plugin_list_string = ""
for module in sorted(__list_modules()):
module_list_string += f"{module}, "
module_list_string = module_list_string[:-2]
for plugin in sorted(__list_plugins()):
plugin_list_string += f"{plugin}, "
plugin_list_string = plugin_list_string[:-2]
module_list = sorted(__list_modules())
plugin_list = sorted(__list_plugins())
logs.info(f"加载内置模块: {module_list_string}")
if len(plugin_list) > 0:
logs.info(f"加载插件: {plugin_list_string}")
__all__ = __list_modules() + ["module_list"] + __list_plugins() + ["plugin_list"]