Error handling

This commit is contained in:
kramo
2023-06-19 12:58:52 +02:00
parent 286b44360e
commit a96b989a29
2 changed files with 31 additions and 28 deletions

View File

@@ -251,11 +251,11 @@ class DetailsWindow(Adw.Window):
except GLib.GError:
return
def resize():
if cover := resize_cover(path):
self.game_cover.new_cover(cover)
self.cover_button_delete_revealer.set_reveal_child(True)
self.cover_changed = True
def resize():
self.game_cover.new_cover(resize_cover(path))
self.toggle_loading()
self.toggle_loading()

View File

@@ -22,7 +22,7 @@ from pathlib import Path
from shutil import copyfile
from gi.repository import Gio
from PIL import Image, ImageSequence
from PIL import Image, ImageSequence, UnidentifiedImageError
from src import shared
@@ -35,6 +35,7 @@ def resize_cover(cover_path=None, pixbuf=None):
cover_path = Path(Gio.File.new_tmp("XXXXXX.tiff")[0].get_path())
pixbuf.savev(str(cover_path), "tiff", ["compression"], ["1"])
try:
with Image.open(cover_path) as image:
if getattr(image, "is_animated", False):
frames = tuple(
@@ -61,6 +62,8 @@ def resize_cover(cover_path=None, pixbuf=None):
if shared.schema.get_boolean("high-quality-images")
else "webp",
)
except UnidentifiedImageError:
return None
return tmp_path