diff --git a/komga/src/main/kotlin/org/gotson/komga/domain/service/BookManager.kt b/komga/src/main/kotlin/org/gotson/komga/domain/service/BookManager.kt index 258a05018..7fac8738e 100644 --- a/komga/src/main/kotlin/org/gotson/komga/domain/service/BookManager.kt +++ b/komga/src/main/kotlin/org/gotson/komga/domain/service/BookManager.kt @@ -29,19 +29,4 @@ class BookManager( bookRepository.save(book) } - fun getPageContent(book: Book, number: Int): ByteArray { - logger.info { "Get page #$number for book: ${book.url}" } - - if (book.metadata.status == Status.UNKNOWN) { - logger.info { "Book metadata is unknown, parsing it now" } - parseAndPersist(book) - } - - if (book.metadata.status != Status.READY) { - logger.warn { "Book metadata is not ready, cannot get pages" } - throw MetadataNotReadyException() - } - - return bookParser.getPageStrema(book, number).readBytes() - } } \ No newline at end of file diff --git a/komga/src/main/kotlin/org/gotson/komga/domain/service/BookParser.kt b/komga/src/main/kotlin/org/gotson/komga/domain/service/BookParser.kt index 165d0147b..db3b50071 100644 --- a/komga/src/main/kotlin/org/gotson/komga/domain/service/BookParser.kt +++ b/komga/src/main/kotlin/org/gotson/komga/domain/service/BookParser.kt @@ -39,7 +39,7 @@ class BookParser( return BookMetadata(mediaType = mediaType, status = Status.READY, pages = pages) } - fun getPageStrema(book: Book, number: Int): InputStream { + fun getPageStream(book: Book, number: Int): InputStream { logger.info { "Get page #$number for book: ${book.url}" } if (book.metadata.status != Status.READY) { diff --git a/komga/src/main/kotlin/org/gotson/komga/interfaces/web/SerieController.kt b/komga/src/main/kotlin/org/gotson/komga/interfaces/web/SerieController.kt index df89d7fc6..334d2cb0c 100644 --- a/komga/src/main/kotlin/org/gotson/komga/interfaces/web/SerieController.kt +++ b/komga/src/main/kotlin/org/gotson/komga/interfaces/web/SerieController.kt @@ -5,7 +5,7 @@ import org.gotson.komga.domain.model.Serie import org.gotson.komga.domain.model.Status import org.gotson.komga.domain.persistence.BookRepository import org.gotson.komga.domain.persistence.SerieRepository -import org.gotson.komga.domain.service.BookManager +import org.gotson.komga.domain.service.BookParser import org.gotson.komga.domain.service.MetadataNotReadyException import org.springframework.data.domain.Page import org.springframework.data.domain.Pageable @@ -26,7 +26,7 @@ import java.io.File class SerieController( private val serieRepository: SerieRepository, private val bookRepository: BookRepository, - private val bookManager: BookManager + private val bookParser: BookParser ) { @GetMapping @@ -98,10 +98,10 @@ class SerieController( try { return bookRepository.findByIdOrNull((bookId))?.let { book -> - val pageContent = bookManager.getPageContent(book, pageNumber) + val pageContent = bookParser.getPageStream(book, pageNumber).readBytes() val mediaType = try { - MediaType.parseMediaType(book.metadata.mediaType!!) + MediaType.parseMediaType(book.metadata.pages[pageNumber - 1].mediaType) } catch (ex: Exception) { MediaType.APPLICATION_OCTET_STREAM }