mirror of
https://github.com/gotson/komga.git
synced 2026-04-28 01:44:08 +02:00
refactor: move language utils
This commit is contained in:
parent
b0d6314ec9
commit
ee68ea6451
21 changed files with 29 additions and 22 deletions
|
|
@ -1,5 +1,6 @@
|
|||
package org.gotson.komga.domain.model
|
||||
|
||||
import org.gotson.komga.language.lowerNotBlank
|
||||
import java.time.LocalDate
|
||||
import java.time.LocalDateTime
|
||||
|
||||
|
|
@ -33,7 +34,7 @@ class BookMetadata(
|
|||
val title = title.trim()
|
||||
val summary = summary.trim()
|
||||
val number = number.trim()
|
||||
val tags = tags.map { it.lowercase().trim() }.filter { it.isNotBlank() }.toSet()
|
||||
val tags = tags.lowerNotBlank().toSet()
|
||||
|
||||
fun copy(
|
||||
title: String = this.title,
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import org.gotson.komga.domain.persistence.BookRepository
|
|||
import org.gotson.komga.domain.persistence.HistoricalEventRepository
|
||||
import org.gotson.komga.domain.persistence.LibraryRepository
|
||||
import org.gotson.komga.domain.persistence.MediaRepository
|
||||
import org.gotson.komga.infrastructure.language.notEquals
|
||||
import org.gotson.komga.language.notEquals
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.transaction.support.TransactionTemplate
|
||||
import java.io.FileNotFoundException
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ import org.gotson.komga.domain.persistence.MediaRepository
|
|||
import org.gotson.komga.domain.persistence.ReadListRepository
|
||||
import org.gotson.komga.domain.persistence.ReadProgressRepository
|
||||
import org.gotson.komga.domain.persistence.SidecarRepository
|
||||
import org.gotson.komga.infrastructure.language.toIndexedMap
|
||||
import org.gotson.komga.language.toIndexedMap
|
||||
import org.springframework.stereotype.Service
|
||||
import java.io.FileNotFoundException
|
||||
import java.nio.file.FileAlreadyExistsException
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ import org.gotson.komga.domain.persistence.HistoricalEventRepository
|
|||
import org.gotson.komga.domain.persistence.LibraryRepository
|
||||
import org.gotson.komga.domain.persistence.MediaRepository
|
||||
import org.gotson.komga.domain.persistence.PageHashRepository
|
||||
import org.gotson.komga.infrastructure.language.notEquals
|
||||
import org.gotson.komga.language.notEquals
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.transaction.support.TransactionTemplate
|
||||
import java.io.FileNotFoundException
|
||||
|
|
|
|||
|
|
@ -27,8 +27,8 @@ import org.gotson.komga.domain.persistence.SidecarRepository
|
|||
import org.gotson.komga.domain.persistence.ThumbnailBookRepository
|
||||
import org.gotson.komga.infrastructure.configuration.KomgaProperties
|
||||
import org.gotson.komga.infrastructure.hash.Hasher
|
||||
import org.gotson.komga.infrastructure.language.notEquals
|
||||
import org.gotson.komga.infrastructure.language.toIndexedMap
|
||||
import org.gotson.komga.language.notEquals
|
||||
import org.gotson.komga.language.toIndexedMap
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.transaction.support.TransactionTemplate
|
||||
import java.nio.file.Paths
|
||||
|
|
|
|||
|
|
@ -9,7 +9,7 @@ import org.gotson.komga.domain.persistence.BookMetadataRepository
|
|||
import org.gotson.komga.domain.persistence.BookRepository
|
||||
import org.gotson.komga.domain.persistence.ReadListRepository
|
||||
import org.gotson.komga.domain.persistence.SeriesRepository
|
||||
import org.gotson.komga.infrastructure.language.toIndexedMap
|
||||
import org.gotson.komga.language.toIndexedMap
|
||||
import org.springframework.stereotype.Service
|
||||
|
||||
private val logger = KotlinLogging.logger {}
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ import org.gotson.komga.domain.persistence.SeriesCollectionRepository
|
|||
import org.gotson.komga.domain.persistence.SeriesMetadataRepository
|
||||
import org.gotson.komga.domain.persistence.SeriesRepository
|
||||
import org.gotson.komga.domain.persistence.ThumbnailSeriesRepository
|
||||
import org.gotson.komga.infrastructure.language.stripAccents
|
||||
import org.gotson.komga.language.stripAccents
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.transaction.support.TransactionTemplate
|
||||
import java.io.File
|
||||
|
|
|
|||
|
|
@ -14,12 +14,12 @@ import org.gotson.komga.domain.persistence.LibraryRepository
|
|||
import org.gotson.komga.domain.persistence.MediaRepository
|
||||
import org.gotson.komga.domain.persistence.SeriesCollectionRepository
|
||||
import org.gotson.komga.domain.persistence.SeriesMetadataRepository
|
||||
import org.gotson.komga.infrastructure.language.mostFrequent
|
||||
import org.gotson.komga.infrastructure.metadata.SeriesMetadataFromBookProvider
|
||||
import org.gotson.komga.infrastructure.metadata.SeriesMetadataProvider
|
||||
import org.gotson.komga.infrastructure.metadata.comicrack.ComicInfoProvider
|
||||
import org.gotson.komga.infrastructure.metadata.epub.EpubMetadataProvider
|
||||
import org.gotson.komga.infrastructure.metadata.mylar.MylarSeriesProvider
|
||||
import org.gotson.komga.language.mostFrequent
|
||||
import org.springframework.stereotype.Service
|
||||
|
||||
private val logger = KotlinLogging.logger {}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package org.gotson.komga.infrastructure.datasource
|
|||
|
||||
import com.ibm.icu.text.Collator
|
||||
import mu.KotlinLogging
|
||||
import org.gotson.komga.infrastructure.language.stripAccents
|
||||
import org.gotson.komga.language.stripAccents
|
||||
import org.springframework.jdbc.datasource.SimpleDriverDataSource
|
||||
import org.sqlite.Collation
|
||||
import org.sqlite.Function
|
||||
|
|
|
|||
|
|
@ -2,9 +2,9 @@ package org.gotson.komga.infrastructure.jooq
|
|||
|
||||
import org.gotson.komga.domain.model.ReadProgress
|
||||
import org.gotson.komga.domain.persistence.ReadProgressRepository
|
||||
import org.gotson.komga.infrastructure.language.toUTC
|
||||
import org.gotson.komga.jooq.Tables
|
||||
import org.gotson.komga.jooq.tables.records.ReadProgressRecord
|
||||
import org.gotson.komga.language.toUTC
|
||||
import org.jooq.DSLContext
|
||||
import org.jooq.Query
|
||||
import org.jooq.impl.DSL
|
||||
|
|
|
|||
|
|
@ -3,10 +3,10 @@ package org.gotson.komga.infrastructure.jooq
|
|||
import org.gotson.komga.domain.model.Author
|
||||
import org.gotson.komga.domain.persistence.ReferentialRepository
|
||||
import org.gotson.komga.infrastructure.datasource.SqliteUdfDataSource
|
||||
import org.gotson.komga.infrastructure.language.stripAccents
|
||||
import org.gotson.komga.jooq.Tables
|
||||
import org.gotson.komga.jooq.tables.records.BookMetadataAggregationAuthorRecord
|
||||
import org.gotson.komga.jooq.tables.records.BookMetadataAuthorRecord
|
||||
import org.gotson.komga.language.stripAccents
|
||||
import org.jooq.DSLContext
|
||||
import org.jooq.impl.DSL.noCondition
|
||||
import org.jooq.impl.DSL.select
|
||||
|
|
|
|||
|
|
@ -7,9 +7,9 @@ import org.apache.lucene.document.StringField
|
|||
import org.apache.lucene.document.TextField
|
||||
import org.gotson.komga.domain.model.ReadList
|
||||
import org.gotson.komga.domain.model.SeriesCollection
|
||||
import org.gotson.komga.infrastructure.language.toDate
|
||||
import org.gotson.komga.interfaces.api.rest.dto.BookDto
|
||||
import org.gotson.komga.interfaces.api.rest.dto.SeriesDto
|
||||
import org.gotson.komga.language.toDate
|
||||
|
||||
enum class LuceneEntity(val type: String, val id: String, val defaultFields: Array<String>) {
|
||||
Book("book", "book_id", arrayOf("title", "isbn")),
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package org.gotson.komga.infrastructure.web
|
||||
|
||||
import org.gotson.komga.infrastructure.language.toEnumeration
|
||||
import org.gotson.komga.language.toEnumeration
|
||||
import java.util.Enumeration
|
||||
import javax.servlet.http.HttpServletRequest
|
||||
import javax.servlet.http.HttpServletRequestWrapper
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ import org.gotson.komga.domain.persistence.ThumbnailReadListRepository
|
|||
import org.gotson.komga.domain.service.BookLifecycle
|
||||
import org.gotson.komga.domain.service.ReadListLifecycle
|
||||
import org.gotson.komga.infrastructure.jooq.UnpagedSorted
|
||||
import org.gotson.komga.infrastructure.language.toIndexedMap
|
||||
import org.gotson.komga.infrastructure.mediacontainer.ContentDetector
|
||||
import org.gotson.komga.infrastructure.security.KomgaPrincipal
|
||||
import org.gotson.komga.infrastructure.swagger.AuthorsAsQueryParam
|
||||
|
|
@ -44,6 +43,7 @@ import org.gotson.komga.interfaces.api.rest.dto.TachiyomiReadProgressUpdateDto
|
|||
import org.gotson.komga.interfaces.api.rest.dto.ThumbnailReadListDto
|
||||
import org.gotson.komga.interfaces.api.rest.dto.restrictUrl
|
||||
import org.gotson.komga.interfaces.api.rest.dto.toDto
|
||||
import org.gotson.komga.language.toIndexedMap
|
||||
import org.springframework.core.io.FileSystemResource
|
||||
import org.springframework.data.domain.Page
|
||||
import org.springframework.data.domain.PageRequest
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package org.gotson.komga.interfaces.api.rest.dto
|
|||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat
|
||||
import org.gotson.komga.domain.model.SeriesCollection
|
||||
import org.gotson.komga.infrastructure.language.toUTC
|
||||
import org.gotson.komga.language.toUTC
|
||||
import java.time.LocalDateTime
|
||||
|
||||
data class CollectionDto(
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ package org.gotson.komga.interfaces.api.rest.dto
|
|||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat
|
||||
import org.gotson.komga.domain.model.ReadList
|
||||
import org.gotson.komga.infrastructure.language.toUTC
|
||||
import org.gotson.komga.language.toUTC
|
||||
import java.time.LocalDateTime
|
||||
|
||||
data class ReadListDto(
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
package org.gotson.komga.infrastructure.language
|
||||
package org.gotson.komga.language
|
||||
|
||||
import org.apache.commons.lang3.StringUtils
|
||||
import java.time.LocalDate
|
||||
|
|
@ -39,6 +39,12 @@ fun <T, R : Any> Iterable<T>.mostFrequent(transform: (T) -> R?): R? {
|
|||
.maxByOrNull { it.value }?.key
|
||||
}
|
||||
|
||||
fun Iterable<String>.lowerNotBlank() =
|
||||
this.map { it.lowercase().trim() }.filter { it.isNotBlank() }
|
||||
|
||||
fun <T> Iterable<T>.toSetOrNull() =
|
||||
this.toSet().ifEmpty { null }
|
||||
|
||||
fun LocalDateTime.notEquals(other: LocalDateTime, precision: TemporalUnit = ChronoUnit.MILLIS) =
|
||||
this.truncatedTo(precision) != other.truncatedTo(precision)
|
||||
|
||||
|
|
@ -27,7 +27,7 @@ import org.gotson.komga.domain.persistence.MediaRepository
|
|||
import org.gotson.komga.domain.persistence.ReadListRepository
|
||||
import org.gotson.komga.domain.persistence.ReadProgressRepository
|
||||
import org.gotson.komga.domain.persistence.SeriesRepository
|
||||
import org.gotson.komga.infrastructure.language.toIndexedMap
|
||||
import org.gotson.komga.language.toIndexedMap
|
||||
import org.junit.jupiter.api.AfterAll
|
||||
import org.junit.jupiter.api.AfterEach
|
||||
import org.junit.jupiter.api.BeforeAll
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@ import org.gotson.komga.domain.persistence.SeriesMetadataRepository
|
|||
import org.gotson.komga.domain.persistence.SeriesRepository
|
||||
import org.gotson.komga.domain.persistence.ThumbnailBookRepository
|
||||
import org.gotson.komga.infrastructure.hash.Hasher
|
||||
import org.gotson.komga.infrastructure.language.toIndexedMap
|
||||
import org.gotson.komga.interfaces.api.persistence.SeriesDtoRepository
|
||||
import org.gotson.komga.language.toIndexedMap
|
||||
import org.junit.jupiter.api.AfterAll
|
||||
import org.junit.jupiter.api.AfterEach
|
||||
import org.junit.jupiter.api.BeforeAll
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ import org.gotson.komga.domain.model.makeSeries
|
|||
import org.gotson.komga.domain.persistence.BookRepository
|
||||
import org.gotson.komga.domain.persistence.LibraryRepository
|
||||
import org.gotson.komga.domain.persistence.SeriesRepository
|
||||
import org.gotson.komga.infrastructure.language.toIndexedMap
|
||||
import org.gotson.komga.language.toIndexedMap
|
||||
import org.junit.jupiter.api.AfterAll
|
||||
import org.junit.jupiter.api.AfterEach
|
||||
import org.junit.jupiter.api.BeforeAll
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ import org.gotson.komga.domain.persistence.SeriesMetadataRepository
|
|||
import org.gotson.komga.domain.service.LibraryLifecycle
|
||||
import org.gotson.komga.domain.service.ReadListLifecycle
|
||||
import org.gotson.komga.domain.service.SeriesLifecycle
|
||||
import org.gotson.komga.infrastructure.language.toIndexedMap
|
||||
import org.gotson.komga.language.toIndexedMap
|
||||
import org.junit.jupiter.api.AfterAll
|
||||
import org.junit.jupiter.api.AfterEach
|
||||
import org.junit.jupiter.api.BeforeAll
|
||||
|
|
|
|||
Loading…
Reference in a new issue