From cdc6e70adb1406502af117c5c99e36377ebf6c5f Mon Sep 17 00:00:00 2001 From: Kaveen Kumarasinghe Date: Tue, 27 Dec 2022 14:07:34 -0500 Subject: [PATCH] Fix tempfile giving PermissionError on windows --- cogs/draw_image_generation.py | 2 +- models/openai_model.py | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cogs/draw_image_generation.py b/cogs/draw_image_generation.py index 1cad590..ff4a0dc 100644 --- a/cogs/draw_image_generation.py +++ b/cogs/draw_image_generation.py @@ -310,7 +310,7 @@ class SaveButton(discord.ui.Button["SaveView"]): if not self.image_url.startswith("http"): with open(self.image_url, "rb") as f: image = Image.open(BytesIO(f.read())) - temp_file = tempfile.NamedTemporaryFile(suffix=".png") + temp_file = tempfile.NamedTemporaryFile(suffix=".png", delete=False) image.save(temp_file.name) await interaction.response.send_message( diff --git a/models/openai_model.py b/models/openai_model.py index 055e650..9f03c40 100644 --- a/models/openai_model.py +++ b/models/openai_model.py @@ -397,6 +397,10 @@ class Model: n=self.num_images, size=self.image_size, ) + + + + print(response.__dict__) image_urls = [] @@ -451,7 +455,7 @@ class Model: y_offset += transparent.size[1] # Save the new_im to a temporary file and return it as a discord.File - temp_file = tempfile.NamedTemporaryFile(suffix=".png") + temp_file = tempfile.NamedTemporaryFile(suffix=".png", delete=False) new_im.save(temp_file.name) # Print the filesize of new_im, in mega bytes @@ -470,7 +474,7 @@ class Model: new_im = new_im.resize( (int(new_im.width / 1.05), int(new_im.height / 1.05)) ) - temp_file = tempfile.NamedTemporaryFile(suffix=".png") + temp_file = tempfile.NamedTemporaryFile(suffix=".png", delete=False) new_im.save(temp_file.name) image_size = os.path.getsize(temp_file.name) / 1000000 print(f"New image size is {image_size}MB")