mirror of
https://github.com/gotson/komga.git
synced 2025-12-22 00:13:30 +01:00
parent
af8e3ea433
commit
e1e3c013cf
2 changed files with 7 additions and 5 deletions
|
|
@ -76,7 +76,7 @@ class BookAnalyzer(
|
|||
logger.info { "Book has ${pages.size} pages" }
|
||||
|
||||
logger.info { "Trying to generate cover for book: $book" }
|
||||
val thumbnail = generateThumbnail(book)
|
||||
val thumbnail = generateThumbnail(book, mediaType, pages.first().fileName)
|
||||
|
||||
return Media(mediaType = mediaType, status = Media.Status.READY, pages = pages, thumbnail = thumbnail, comment = entriesErrorSummary)
|
||||
}
|
||||
|
|
@ -90,7 +90,7 @@ class BookAnalyzer(
|
|||
throw MediaNotReadyException()
|
||||
}
|
||||
|
||||
val thumbnail = generateThumbnail(book)
|
||||
val thumbnail = generateThumbnail(book, book.media.mediaType!!, book.media.pages.first().fileName)
|
||||
|
||||
return Media(
|
||||
mediaType = book.media.mediaType,
|
||||
|
|
@ -100,9 +100,9 @@ class BookAnalyzer(
|
|||
)
|
||||
}
|
||||
|
||||
private fun generateThumbnail(book: Book): ByteArray? =
|
||||
private fun generateThumbnail(book: Book, mediaType: String, entry: String): ByteArray? =
|
||||
try {
|
||||
getPageContent(book, 1).let { cover ->
|
||||
supportedMediaTypes.getValue(mediaType).getEntryStream(book.path(), entry).let { cover ->
|
||||
imageConverter.resizeImage(cover, thumbnailFormat, thumbnailSize)
|
||||
}
|
||||
} catch (ex: Exception) {
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ import io.mockk.slot
|
|||
import org.assertj.core.api.Assertions.assertThat
|
||||
import org.gotson.komga.domain.model.MediaContainerEntry
|
||||
import org.gotson.komga.domain.model.makeBook
|
||||
import org.gotson.komga.infrastructure.image.ImageConverter
|
||||
import org.gotson.komga.infrastructure.mediacontainer.ContentDetector
|
||||
import org.gotson.komga.infrastructure.mediacontainer.PdfExtractor
|
||||
import org.gotson.komga.infrastructure.mediacontainer.RarExtractor
|
||||
|
|
@ -17,8 +18,9 @@ class BookAnalyzerTest {
|
|||
private val mockZip = mockk<ZipExtractor>()
|
||||
private val mockRar = mockk<RarExtractor>()
|
||||
private val mockPDf = mockk<PdfExtractor>()
|
||||
private val mockImageConverter = mockk<ImageConverter>()
|
||||
|
||||
private val bookAnalyzer = BookAnalyzer(mockContent, mockZip, mockRar, mockPDf)
|
||||
private val bookAnalyzer = BookAnalyzer(mockContent, mockZip, mockRar, mockPDf, mockImageConverter)
|
||||
|
||||
@Test
|
||||
fun `given book with unordered pages when analyzing then thumbnail should always be the first in natural order`() {
|
||||
|
|
|
|||
Loading…
Reference in a new issue