mirror of
https://github.com/gotson/komga.git
synced 2026-05-05 23:37:43 +00:00
perf(komga): convert BookMetadataProvider to property
This commit is contained in:
parent
1050f522cc
commit
3843f77740
6 changed files with 21 additions and 24 deletions
|
|
@ -36,7 +36,7 @@ class BookMetadataLifecycle(
|
|||
|
||||
bookMetadataProviders.forEach { provider ->
|
||||
when {
|
||||
capabilities.intersect(provider.getCapabilities()).isEmpty() ->
|
||||
capabilities.intersect(provider.capabilities).isEmpty() ->
|
||||
logger.info { "Provider does not support requested capabilities, skipping: ${provider.javaClass.simpleName}" }
|
||||
|
||||
!(provider.shouldLibraryHandlePatch(library, MetadataPatchTarget.BOOK) || provider.shouldLibraryHandlePatch(library, MetadataPatchTarget.READLIST)) ->
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ class TransientBookLifecycle(
|
|||
bookMetadataProviders: List<BookMetadataProvider>,
|
||||
) {
|
||||
|
||||
val bookMetadataProviders = bookMetadataProviders.filter { it.getCapabilities().contains(BookMetadataPatchCapability.NUMBER_SORT) }
|
||||
val bookMetadataProviders = bookMetadataProviders.filter { it.capabilities.contains(BookMetadataPatchCapability.NUMBER_SORT) }
|
||||
|
||||
fun scanAndPersist(filePath: String): List<TransientBook> {
|
||||
val folderToScan = Paths.get(filePath)
|
||||
|
|
|
|||
|
|
@ -5,6 +5,6 @@ import org.gotson.komga.domain.model.BookMetadataPatchCapability
|
|||
import org.gotson.komga.domain.model.BookWithMedia
|
||||
|
||||
interface BookMetadataProvider : MetadataProvider {
|
||||
fun getCapabilities(): Set<BookMetadataPatchCapability>
|
||||
val capabilities: Set<BookMetadataPatchCapability>
|
||||
fun getBookMetadataFromBook(book: BookWithMedia): BookMetadataPatch?
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,8 +36,7 @@ class IsbnBarcodeProvider(
|
|||
DecodeHintType.TRY_HARDER to true,
|
||||
)
|
||||
|
||||
override fun getCapabilities(): Set<BookMetadataPatchCapability> =
|
||||
setOf(BookMetadataPatchCapability.ISBN)
|
||||
override val capabilities = setOf(BookMetadataPatchCapability.ISBN)
|
||||
|
||||
override fun getBookMetadataFromBook(book: BookWithMedia): BookMetadataPatch? {
|
||||
if (book.media.profile == MediaProfile.EPUB) return null
|
||||
|
|
|
|||
|
|
@ -35,17 +35,16 @@ class ComicInfoProvider(
|
|||
private val isbnValidator: ISBNValidator,
|
||||
) : BookMetadataProvider, SeriesMetadataFromBookProvider {
|
||||
|
||||
override fun getCapabilities(): Set<BookMetadataPatchCapability> =
|
||||
setOf(
|
||||
BookMetadataPatchCapability.TITLE,
|
||||
BookMetadataPatchCapability.SUMMARY,
|
||||
BookMetadataPatchCapability.NUMBER,
|
||||
BookMetadataPatchCapability.NUMBER_SORT,
|
||||
BookMetadataPatchCapability.RELEASE_DATE,
|
||||
BookMetadataPatchCapability.AUTHORS,
|
||||
BookMetadataPatchCapability.READ_LISTS,
|
||||
BookMetadataPatchCapability.LINKS,
|
||||
)
|
||||
override val capabilities = setOf(
|
||||
BookMetadataPatchCapability.TITLE,
|
||||
BookMetadataPatchCapability.SUMMARY,
|
||||
BookMetadataPatchCapability.NUMBER,
|
||||
BookMetadataPatchCapability.NUMBER_SORT,
|
||||
BookMetadataPatchCapability.RELEASE_DATE,
|
||||
BookMetadataPatchCapability.AUTHORS,
|
||||
BookMetadataPatchCapability.READ_LISTS,
|
||||
BookMetadataPatchCapability.LINKS,
|
||||
)
|
||||
|
||||
override fun getBookMetadataFromBook(book: BookWithMedia): BookMetadataPatch? {
|
||||
getComicInfo(book)?.let { comicInfo ->
|
||||
|
|
|
|||
|
|
@ -37,14 +37,13 @@ class EpubMetadataProvider(
|
|||
"trl" to "translator",
|
||||
)
|
||||
|
||||
override fun getCapabilities(): Set<BookMetadataPatchCapability> =
|
||||
setOf(
|
||||
BookMetadataPatchCapability.TITLE,
|
||||
BookMetadataPatchCapability.SUMMARY,
|
||||
BookMetadataPatchCapability.RELEASE_DATE,
|
||||
BookMetadataPatchCapability.AUTHORS,
|
||||
BookMetadataPatchCapability.ISBN,
|
||||
)
|
||||
override val capabilities = setOf(
|
||||
BookMetadataPatchCapability.TITLE,
|
||||
BookMetadataPatchCapability.SUMMARY,
|
||||
BookMetadataPatchCapability.RELEASE_DATE,
|
||||
BookMetadataPatchCapability.AUTHORS,
|
||||
BookMetadataPatchCapability.ISBN,
|
||||
)
|
||||
|
||||
override fun getBookMetadataFromBook(book: BookWithMedia): BookMetadataPatch? {
|
||||
if (book.media.mediaType != MediaType.EPUB.type) return null
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue