From 3e9c947cf0ecf92dae8756540d0173cd4330bf68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ball=C3=B3=20Gy=C3=B6rgy?= Date: Mon, 4 Nov 2024 12:13:17 +0100 Subject: [PATCH] Skip write-only formats (#308) PALM and PDF are write-only formats by PIL, these cannot be opened. Also move SVG out from the loop to avoid adding it multiple times. Reference: https://pillow.readthedocs.io/en/stable/handbook/image-file-formats.html#write-only-formats --- cartridges/details_dialog.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/cartridges/details_dialog.py b/cartridges/details_dialog.py index 8d85586..fa5c733 100644 --- a/cartridges/details_dialog.py +++ b/cartridges/details_dialog.py @@ -89,9 +89,12 @@ class DetailsDialog(Adw.Dialog): self.apply_button.set_label(_("Add")) image_filter = Gtk.FileFilter(name=_("Images")) - for extension in Image.registered_extensions(): + + # .palm and .pdf are write-only + for extension in set(Image.registered_extensions()) - {".palm", ".pdf"}: image_filter.add_suffix(extension[1:]) - image_filter.add_suffix("svg") # Gdk.Texture supports .svg but PIL doesn't + + image_filter.add_suffix("svg") # Gdk.Texture supports .svg but PIL doesn't image_filters = Gio.ListStore.new(Gtk.FileFilter) image_filters.append(image_filter)