diff options
author | AUTOMATIC1111 <16777216c@gmail.com> | 2022-10-03 04:54:57 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-03 04:54:57 +0000 |
commit | 3fac3764b3fadce828ceffdb7dea2be51bbe7da7 (patch) | |
tree | b2307b40ed86dc825d9954f470a2b1663dfed30a /modules/scripts.py | |
parent | 32edf1732f27a1fad5133667c22b948adda1b070 (diff) | |
parent | 4c2eccf8e96825333ed400f8a8a2be78141ed8ec (diff) | |
download | stable-diffusion-webui-gfx803-3fac3764b3fadce828ceffdb7dea2be51bbe7da7.tar.gz stable-diffusion-webui-gfx803-3fac3764b3fadce828ceffdb7dea2be51bbe7da7.tar.bz2 stable-diffusion-webui-gfx803-3fac3764b3fadce828ceffdb7dea2be51bbe7da7.zip |
Merge branch 'master' into #1484_fix_empty_styles_pattern
Diffstat (limited to 'modules/scripts.py')
-rw-r--r-- | modules/scripts.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/modules/scripts.py b/modules/scripts.py index 7c3bd5e7..45230f9a 100644 --- a/modules/scripts.py +++ b/modules/scripts.py @@ -162,6 +162,40 @@ class ScriptRunner: return processed
+ def reload_sources(self):
+ for si, script in list(enumerate(self.scripts)):
+ with open(script.filename, "r", encoding="utf8") as file:
+ args_from = script.args_from
+ args_to = script.args_to
+ filename = script.filename
+ text = file.read()
+
+ from types import ModuleType
+
+ compiled = compile(text, filename, 'exec')
+ module = ModuleType(script.filename)
+ exec(compiled, module.__dict__)
+
+ for key, script_class in module.__dict__.items():
+ if type(script_class) == type and issubclass(script_class, Script):
+ self.scripts[si] = script_class()
+ self.scripts[si].filename = filename
+ self.scripts[si].args_from = args_from
+ self.scripts[si].args_to = args_to
scripts_txt2img = ScriptRunner()
scripts_img2img = ScriptRunner()
+
+def reload_script_body_only():
+ scripts_txt2img.reload_sources()
+ scripts_img2img.reload_sources()
+
+
+def reload_scripts(basedir):
+ global scripts_txt2img, scripts_img2img
+
+ scripts_data.clear()
+ load_scripts(basedir)
+
+ scripts_txt2img = ScriptRunner()
+ scripts_img2img = ScriptRunner()
|