From 4b435be21c6069ffd56ae6a9fba82056c16f2181 Mon Sep 17 00:00:00 2001 From: Gauthier Roebroeck Date: Wed, 27 Sep 2023 10:14:10 +0800 Subject: [PATCH] feat(komga): support webp cover sidecars Closes: #1238 --- .../metadata/localartwork/LocalArtworkProvider.kt | 2 +- .../localartwork/LocalArtworkProviderTest.kt | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/localartwork/LocalArtworkProvider.kt b/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/localartwork/LocalArtworkProvider.kt index 9f2f91a55..e23a82fce 100644 --- a/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/localartwork/LocalArtworkProvider.kt +++ b/komga/src/main/kotlin/org/gotson/komga/infrastructure/metadata/localartwork/LocalArtworkProvider.kt @@ -23,7 +23,7 @@ class LocalArtworkProvider( private val contentDetector: ContentDetector, ) : SidecarSeriesConsumer, SidecarBookConsumer { - val supportedExtensions = listOf("png", "jpeg", "jpg", "tbn") + val supportedExtensions = listOf("png", "jpeg", "jpg", "tbn", "webp") val supportedSeriesFiles = listOf("cover", "default", "folder", "poster", "series") fun getBookThumbnails(book: Book): List { diff --git a/komga/src/test/kotlin/org/gotson/komga/infrastructure/metadata/localartwork/LocalArtworkProviderTest.kt b/komga/src/test/kotlin/org/gotson/komga/infrastructure/metadata/localartwork/LocalArtworkProviderTest.kt index 3e99b52a3..98c2d78e4 100644 --- a/komga/src/test/kotlin/org/gotson/komga/infrastructure/metadata/localartwork/LocalArtworkProviderTest.kt +++ b/komga/src/test/kotlin/org/gotson/komga/infrastructure/metadata/localartwork/LocalArtworkProviderTest.kt @@ -23,6 +23,9 @@ class LocalArtworkProviderTest { when (firstArg().extension.lowercase()) { "jpg", "jpeg", "tbn" -> "image/jpeg" "png" -> "image/png" + "webp" -> "image/webp" + "avif" -> "image/avif" + "jxl" -> "image/jxl" else -> "application/octet-stream" } } @@ -38,9 +41,9 @@ class LocalArtworkProviderTest { Files.createDirectory(root) val bookFile = Files.createFile(root.resolve("book(e).cbz")) - val thumbsFiles = listOf("bOOk(e).jpeg", "Book(e).tbn", "book(e).PNG", "book(e).jpeg") - val thumbsDashFiles = listOf("book(e)-1.jpeg", "book(e)-2.tbn", "book(e)-23.png", "book(e)-111.jpeg") - val invalidFiles = listOf("book12(e).jpeg", "book(e).gif", "cover.png", "other.jpeg") + val thumbsFiles = listOf("bOOk(e).jpeg", "Book(e).tbn", "book(e).PNG", "book(e).jpeg", "book(e).webp") + val thumbsDashFiles = listOf("book(e)-1.jpeg", "book(e)-2.tbn", "book(e)-23.png", "book(e)-111.jpeg", "book(e)-123.webp") + val invalidFiles = listOf("book12(e).jpeg", "book(e).gif", "cover.png", "other.jpeg", "book.webp", "book(e).avif", "book(e).jxl") (thumbsFiles + thumbsDashFiles + invalidFiles).forEach { Files.createFile(root.resolve(it)) } @@ -73,8 +76,8 @@ class LocalArtworkProviderTest { val seriesPath = fs.getPath("/series") val seriesFile = Files.createDirectory(seriesPath) - val thumbsFiles = listOf("CoVeR.jpeg", "DefauLt.tbn", "POSter.PNG", "FoLDer.jpeg", "serIES.TBN") - val invalidFiles = listOf("cover.gif", "artwork.jpg", "other.jpeg") + val thumbsFiles = listOf("CoVeR.jpeg", "DefauLt.tbn", "POSter.PNG", "FoLDer.jpeg", "serIES.TBN", "serIes.WebP") + val invalidFiles = listOf("cover.gif", "artwork.jpg", "other.jpeg", "cover.avif", "series.jxl") (thumbsFiles + invalidFiles).forEach { Files.createFile(seriesPath.resolve(it)) }