""" 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"]