50 lines
1.4 KiB
Python
50 lines
1.4 KiB
Python
""" 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("Loading modules: %s", module_list_string)
|
|
if len(plugin_list) > 0:
|
|
logs.info("Loading plugins: %s", plugin_list_string)
|
|
__all__ = __list_modules() + ["module_list"] + __list_plugins() + ["plugin_list"]
|