28 lines
780 B
Python
28 lines
780 B
Python
""" функции загрузки файлов плагинов """
|
|
|
|
import os
|
|
import traceback
|
|
from importlib import util
|
|
|
|
|
|
def load_module(path):
|
|
name = os.path.split(path)[-1]
|
|
spec = util.spec_from_file_location(name, path)
|
|
module = util.module_from_spec(spec)
|
|
spec.loader.exec_module(module)
|
|
return module
|
|
|
|
|
|
def load_plugins(init_filepath):
|
|
dirpath = os.path.dirname(os.path.abspath(init_filepath))
|
|
for fname in os.listdir(dirpath):
|
|
if (
|
|
not fname.startswith(".")
|
|
and not fname.startswith("__")
|
|
and fname.endswith(".py")
|
|
):
|
|
try:
|
|
load_module(os.path.join(dirpath, fname))
|
|
except Exception:
|
|
traceback.print_exc()
|