From 230d8ce49c0a9e271cf86365e6b398a50be25aba Mon Sep 17 00:00:00 2001 From: Sola-ris <190788035+Sola-ris@users.noreply.github.com> Date: Sun, 20 Sep 2026 20:29:54 +0200 Subject: [PATCH] fix: Make archive and ebook thumbnail renderers case-insensitive. --- src/tagstudio/previews/renderers/archive.py | 3 ++- src/tagstudio/previews/renderers/ebook.py | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tagstudio/previews/renderers/archive.py b/src/tagstudio/previews/renderers/archive.py index 3d1cbf0f2..800179f5d 100644 --- a/src/tagstudio/previews/renderers/archive.py +++ b/src/tagstudio/previews/renderers/archive.py @@ -121,7 +121,8 @@ def first_image_in_archive(archive: Archive) -> Image | None: Image: The first renderable image in the archive. """ for file_name in archive.namelist(): # pyright: ignore[reportUnknownVariableType] - ext = Path(file_name).suffix + archive_path = Path(file_name) + ext = archive_path.suffix.lower() if archive_path.suffix else archive_path.stem if MediaTypes.image_raster.contains(ext, RENDER): image_data = archive.read(file_name) # pyright: ignore[reportUnknownVariableType] return image_from_bytes(BytesIO(image_data)) diff --git a/src/tagstudio/previews/renderers/ebook.py b/src/tagstudio/previews/renderers/ebook.py index 879e5d8e5..8e1834e8e 100644 --- a/src/tagstudio/previews/renderers/ebook.py +++ b/src/tagstudio/previews/renderers/ebook.py @@ -102,7 +102,7 @@ def cover_from_comic_info(archive: Archive, comic_info: Element, cover_type: str if cover is not None: pages = [f for f in archive.namelist() if f != "ComicInfo.xml"] # pyright: ignore[reportUnknownVariableType] page_name = pages[int(unwrap(cover.get("Image")))] # pyright: ignore[reportUnknownVariableType] - ext = Path(page_name).suffix + ext = Path(page_name).suffix.lower() if MediaTypes.image_raster.contains(ext, RENDER): image_data = archive.read(page_name) # pyright: ignore[reportUnknownVariableType] im = image_from_bytes(BytesIO(image_data))