stable-diffusion-webui

Форк
0
/
script_loading.py 
31 строка · 992.0 Байт
1
import os
2
import importlib.util
3

4
from modules import errors
5

6

7
def load_module(path):
8
    module_spec = importlib.util.spec_from_file_location(os.path.basename(path), path)
9
    module = importlib.util.module_from_spec(module_spec)
10
    module_spec.loader.exec_module(module)
11

12
    return module
13

14

15
def preload_extensions(extensions_dir, parser, extension_list=None):
16
    if not os.path.isdir(extensions_dir):
17
        return
18

19
    extensions = extension_list if extension_list is not None else os.listdir(extensions_dir)
20
    for dirname in sorted(extensions):
21
        preload_script = os.path.join(extensions_dir, dirname, "preload.py")
22
        if not os.path.isfile(preload_script):
23
            continue
24

25
        try:
26
            module = load_module(preload_script)
27
            if hasattr(module, 'preload'):
28
                module.preload(parser)
29

30
        except Exception:
31
            errors.report(f"Error running preload() for {preload_script}", exc_info=True)
32

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.