diff options
author | Philpax <me@philpax.me> | 2023-01-05 04:00:58 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-05 04:00:58 +0000 |
commit | 83ca8dd0c96e3cc8dd444e8d980c07718dc647ee (patch) | |
tree | cbadd09c9305099db7763532b7aaf909d366d326 /modules/ui_tempdir.py | |
parent | fa931733f6acc94e058a1d3d4655846e33ae34be (diff) | |
parent | 5f4fa942b8ec3ed3b15a352903489d6f9e6eb46e (diff) | |
download | stable-diffusion-webui-gfx803-83ca8dd0c96e3cc8dd444e8d980c07718dc647ee.tar.gz stable-diffusion-webui-gfx803-83ca8dd0c96e3cc8dd444e8d980c07718dc647ee.tar.bz2 stable-diffusion-webui-gfx803-83ca8dd0c96e3cc8dd444e8d980c07718dc647ee.zip |
Merge branch 'AUTOMATIC1111:master' into fix-sd-arch-switch-in-override-settings
Diffstat (limited to 'modules/ui_tempdir.py')
-rw-r--r-- | modules/ui_tempdir.py | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/modules/ui_tempdir.py b/modules/ui_tempdir.py index 07210d14..21945235 100644 --- a/modules/ui_tempdir.py +++ b/modules/ui_tempdir.py @@ -1,6 +1,7 @@ import os
import tempfile
from collections import namedtuple
+from pathlib import Path
import gradio as gr
@@ -12,10 +13,29 @@ from modules import shared Savedfile = namedtuple("Savedfile", ["name"])
+def register_tmp_file(gradio, filename):
+ if hasattr(gradio, 'temp_file_sets'): # gradio 3.15
+ gradio.temp_file_sets[0] = gradio.temp_file_sets[0] | {os.path.abspath(filename)}
+
+ if hasattr(gradio, 'temp_dirs'): # gradio 3.9
+ gradio.temp_dirs = gradio.temp_dirs | {os.path.abspath(os.path.dirname(filename))}
+
+
+def check_tmp_file(gradio, filename):
+ if hasattr(gradio, 'temp_file_sets'):
+ return any([filename in fileset for fileset in gradio.temp_file_sets])
+
+ if hasattr(gradio, 'temp_dirs'):
+ return any(Path(temp_dir).resolve() in Path(filename).resolve().parents for temp_dir in gradio.temp_dirs)
+
+ return False
+
+
def save_pil_to_file(pil_image, dir=None):
already_saved_as = getattr(pil_image, 'already_saved_as', None)
if already_saved_as and os.path.isfile(already_saved_as):
- shared.demo.temp_dirs = shared.demo.temp_dirs | {os.path.abspath(os.path.dirname(already_saved_as))}
+ register_tmp_file(shared.demo, already_saved_as)
+
file_obj = Savedfile(already_saved_as)
return file_obj
@@ -44,7 +64,7 @@ def on_tmpdir_changed(): os.makedirs(shared.opts.temp_dir, exist_ok=True)
- shared.demo.temp_dirs = shared.demo.temp_dirs | {os.path.abspath(shared.opts.temp_dir)}
+ register_tmp_file(shared.demo, os.path.join(shared.opts.temp_dir, "x"))
def cleanup_tmpdr():
|