提交 37a23011 编写于 作者: S space-nuko

Expose the compiled class module of scripts to extensions

上级 9cfd10cd
...@@ -152,7 +152,7 @@ def basedir(): ...@@ -152,7 +152,7 @@ def basedir():
scripts_data = [] scripts_data = []
ScriptFile = namedtuple("ScriptFile", ["basedir", "filename", "path"]) ScriptFile = namedtuple("ScriptFile", ["basedir", "filename", "path"])
ScriptClassData = namedtuple("ScriptClassData", ["script_class", "path", "basedir"]) ScriptClassData = namedtuple("ScriptClassData", ["script_class", "path", "basedir", "module"])
def list_scripts(scriptdirname, extension): def list_scripts(scriptdirname, extension):
...@@ -206,7 +206,7 @@ def load_scripts(): ...@@ -206,7 +206,7 @@ def load_scripts():
for key, script_class in module.__dict__.items(): for key, script_class in module.__dict__.items():
if type(script_class) == type and issubclass(script_class, Script): if type(script_class) == type and issubclass(script_class, Script):
scripts_data.append(ScriptClassData(script_class, scriptfile.path, scriptfile.basedir)) scripts_data.append(ScriptClassData(script_class, scriptfile.path, scriptfile.basedir, module))
except Exception: except Exception:
print(f"Error loading script: {scriptfile.filename}", file=sys.stderr) print(f"Error loading script: {scriptfile.filename}", file=sys.stderr)
...@@ -241,7 +241,7 @@ class ScriptRunner: ...@@ -241,7 +241,7 @@ class ScriptRunner:
self.alwayson_scripts.clear() self.alwayson_scripts.clear()
self.selectable_scripts.clear() self.selectable_scripts.clear()
for script_class, path, basedir in scripts_data: for script_class, path, basedir, script_module in scripts_data:
script = script_class() script = script_class()
script.filename = path script.filename = path
script.is_txt2img = not is_img2img script.is_txt2img = not is_img2img
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册