Save gradio tmp images to shark_tmp folder and clean it at launch

This commit is contained in:
drumicube
2023-02-13 15:48:30 +01:00
committed by Gaurav Shukla
parent 2af1102441
commit dffa89524a
2 changed files with 36 additions and 0 deletions

View File

@@ -8,7 +8,12 @@ if sys.platform == "darwin":
import gradio as gr
from apps.stable_diffusion.src import args
from apps.stable_diffusion.web.ui import txt2img_web, img2img_web
from apps.stable_diffusion.web.utils.gradio_configs import (
clear_gradio_tmp_imgs_folder,
)
# clear all gradio tmp images from the last session
clear_gradio_tmp_imgs_folder()
def resource_path(relative_path):
"""Get absolute path to resource, works for dev and for PyInstaller"""

View File

@@ -0,0 +1,31 @@
import os
import tempfile
import gradio
from os import listdir
gradio_tmp_imgs_folder = os.getcwd() + "/shark_tmp/"
# Clear all gradio tmp images
def clear_gradio_tmp_imgs_folder():
if not os.path.exists(gradio_tmp_imgs_folder):
return
for fileName in listdir(gradio_tmp_imgs_folder):
# Delete tmp png files
if fileName.startswith("tmp") and fileName.endswith(".png"):
os.remove(gradio_tmp_imgs_folder + fileName)
# Overwrite save_pil_to_file from gradio to save tmp images generated by gradio into our own tmp folder
def save_pil_to_file(pil_image, dir=None):
if not os.path.exists(gradio_tmp_imgs_folder):
os.mkdir(gradio_tmp_imgs_folder)
file_obj = tempfile.NamedTemporaryFile(
delete=False, suffix=".png", dir=gradio_tmp_imgs_folder
)
pil_image.save(file_obj)
return file_obj
# Register save_pil_to_file override
gradio.processing_utils.save_pil_to_file = save_pil_to_file