PagerMaid-Pyro/pagermaid/modules/__init__.py

44 lines
1.4 KiB
Python
Raw Normal View History

2022-05-23 12:40:30 +00:00
""" PagerMaid module and plugin init. """
from os.path import dirname, basename, isfile, exists
from os import getcwd, makedirs, sep
from glob import glob
from pagermaid import logs
from pagermaid.utils import lang
def __list_modules():
2022-06-20 13:55:14 +00:00
module_paths = glob(f"{dirname(__file__)}{sep}*.py")
return [
2022-05-23 12:40:30 +00:00
basename(file)[:-3]
for file in module_paths
2023-03-12 03:56:01 +00:00
if isfile(file) and file.endswith(".py") and not file.endswith("__init__.py")
2022-05-23 12:40:30 +00:00
]
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")
2022-06-20 13:55:14 +00:00
return [
2022-05-23 12:40:30 +00:00
basename(file)[:-3]
for file in plugin_paths
2023-03-12 03:56:01 +00:00
if isfile(file) and file.endswith(".py") and not file.endswith("__init__.py")
2022-05-23 12:40:30 +00:00
]
2023-03-12 03:56:01 +00:00
module_list_string = "".join(f"{module}, " for module in sorted(__list_modules()))
2022-05-23 12:40:30 +00:00
module_list_string = module_list_string[:-2]
2023-03-12 03:56:01 +00:00
plugin_list_string = "".join(f"{plugin}, " for plugin in sorted(__list_plugins()))
2022-05-23 12:40:30 +00:00
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"]