[Komga] show readlist summary, search and display series aggregated tags (#8489)

* display and search aggregated book tags at series level

* display readlist summary

* bump version
This commit is contained in:
Gauthier 2021-08-09 18:57:38 +08:00 committed by GitHub
parent 6470dd5245
commit a80e03cf4e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 16 additions and 3 deletions

View File

@ -1,3 +1,13 @@
## 1.2.30
Minimum Komga version required: `0.113.0`
### Features
* display read list summary
* display aggregated tags on series
* search series by book tags
## 1.2.29 ## 1.2.29
Minimum Komga version required: `0.97.0` Minimum Komga version required: `0.97.0`

View File

@ -5,7 +5,7 @@ ext {
extName = 'Komga' extName = 'Komga'
pkgNameSuffix = 'all.komga' pkgNameSuffix = 'all.komga'
extClass = '.KomgaFactory' extClass = '.KomgaFactory'
extVersionCode = 29 extVersionCode = 30
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -243,7 +243,7 @@ open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() {
"ENDED" -> SManga.COMPLETED "ENDED" -> SManga.COMPLETED
else -> SManga.UNKNOWN else -> SManga.UNKNOWN
} }
genre = (metadata.genres + metadata.tags).joinToString(", ") genre = (metadata.genres + metadata.tags + booksMetadata.tags).distinct().joinToString(", ")
description = metadata.summary.ifBlank { booksMetadata.summary } description = metadata.summary.ifBlank { booksMetadata.summary }
booksMetadata.authors.groupBy { it.role }.let { map -> booksMetadata.authors.groupBy { it.role }.let { map ->
author = map["writer"]?.map { it.name }?.distinct()?.joinToString() author = map["writer"]?.map { it.name }?.distinct()?.joinToString()
@ -254,6 +254,7 @@ open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() {
private fun ReadListDto.toSManga(): SManga = private fun ReadListDto.toSManga(): SManga =
SManga.create().apply { SManga.create().apply {
title = name title = name
description = summary
url = "$baseUrl/api/v1/readlists/$id" url = "$baseUrl/api/v1/readlists/$id"
thumbnail_url = "$url/thumbnail" thumbnail_url = "$url/thumbnail"
status = SManga.UNKNOWN status = SManga.UNKNOWN
@ -473,7 +474,7 @@ open class Komga(suffix: String = "") : ConfigurableSource, HttpSource() {
) )
Single.fromCallable { Single.fromCallable {
client.newCall(GET("$baseUrl/api/v1/tags/series", headers)).execute() client.newCall(GET("$baseUrl/api/v1/tags", headers)).execute()
} }
.subscribeOn(Schedulers.io()) .subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread()) .observeOn(AndroidSchedulers.mainThread())

View File

@ -41,6 +41,7 @@ data class SeriesMetadataDto(
data class BookMetadataAggregationDto( data class BookMetadataAggregationDto(
val authors: List<AuthorDto> = emptyList(), val authors: List<AuthorDto> = emptyList(),
val tags: Set<String> = emptySet(),
val releaseDate: String?, val releaseDate: String?,
val summary: String, val summary: String,
val summaryNumber: String, val summaryNumber: String,
@ -108,6 +109,7 @@ data class CollectionDto(
data class ReadListDto( data class ReadListDto(
val id: String, val id: String,
val name: String, val name: String,
val summary: String,
val bookIds: List<String>, val bookIds: List<String>,
val createdDate: String, val createdDate: String,
val lastModifiedDate: String, val lastModifiedDate: String,