mirror of
https://github.com/mihonapp/mihon.git
synced 2025-11-03 15:48:56 +01:00
Delegate Pururin.io
This commit is contained in:
@@ -3,6 +3,7 @@ package exh
|
||||
import eu.kanade.tachiyomi.source.Source
|
||||
import eu.kanade.tachiyomi.source.SourceManager
|
||||
import eu.kanade.tachiyomi.source.online.english.HentaiCafe
|
||||
import eu.kanade.tachiyomi.source.online.english.Pururin
|
||||
|
||||
/**
|
||||
* Source helpers
|
||||
@@ -21,7 +22,8 @@ const val HITOMI_SOURCE_ID = LEWD_SOURCE_SERIES + 10
|
||||
const val MERGED_SOURCE_ID = LEWD_SOURCE_SERIES + 69
|
||||
|
||||
private val DELEGATED_LEWD_SOURCES = listOf(
|
||||
HentaiCafe::class
|
||||
HentaiCafe::class,
|
||||
Pururin::class
|
||||
)
|
||||
|
||||
private inline fun <reified T> delegatedSourceId(): Long {
|
||||
|
||||
@@ -14,27 +14,6 @@ class PururinSearchMetadata : RaisedSearchMetadata() {
|
||||
|
||||
var thumbnailUrl: String? = null
|
||||
|
||||
var artist: String? = null
|
||||
var artistDisp: String? = null
|
||||
|
||||
var circle: String? = null
|
||||
var circleDisp: String? = null
|
||||
|
||||
var parody: String? = null // TODO Mult
|
||||
var parodyDisp: String? = null
|
||||
|
||||
var character: String? = null // TODO Mult
|
||||
var characterDisp: String? = null
|
||||
|
||||
var category: String? = null
|
||||
var categoryDisp: String? = null
|
||||
|
||||
var collection: String? = null
|
||||
var collectionDisp: String? = null
|
||||
|
||||
var language: String? = null
|
||||
var languageDisp: String? = null
|
||||
|
||||
var uploaderDisp: String? = null
|
||||
|
||||
var pages: Int? = null
|
||||
@@ -59,9 +38,7 @@ class PururinSearchMetadata : RaisedSearchMetadata() {
|
||||
manga.thumbnail_url = it
|
||||
}
|
||||
|
||||
(artistDisp ?: artist)?.let {
|
||||
manga.artist = it
|
||||
}
|
||||
manga.artist = tags.ofNamespace(TAG_NAMESPACE_ARTIST).joinToString { it.name }
|
||||
|
||||
manga.genre = tagsToGenreString()
|
||||
|
||||
@@ -70,10 +47,10 @@ class PururinSearchMetadata : RaisedSearchMetadata() {
|
||||
altTitle?.let { titleDesc += "Japanese Title: $it\n" }
|
||||
|
||||
val detailsDesc = StringBuilder()
|
||||
(uploaderDisp ?: uploader)?.let { detailsDesc += "Uploader: $it"}
|
||||
pages?.let { detailsDesc += "Length: $it pages" }
|
||||
fileSize?.let { detailsDesc += "Size: $it" }
|
||||
ratingCount?.let { detailsDesc += "Rating: $averageRating ($ratingCount)" }
|
||||
(uploaderDisp ?: uploader)?.let { detailsDesc += "Uploader: $it\n"}
|
||||
pages?.let { detailsDesc += "Length: $it pages\n" }
|
||||
fileSize?.let { detailsDesc += "Size: $it\n" }
|
||||
ratingCount?.let { detailsDesc += "Rating: $averageRating ($ratingCount)\n" }
|
||||
|
||||
val tagsDesc = tagsToDescription()
|
||||
|
||||
@@ -86,7 +63,9 @@ class PururinSearchMetadata : RaisedSearchMetadata() {
|
||||
private const val TITLE_TYPE_TITLE = 0
|
||||
private const val TITLE_TYPE_ALT_TITLE = 1
|
||||
|
||||
const val TAG_TYPE_CONTENTS = 0
|
||||
const val TAG_TYPE_DEFAULT = 0
|
||||
|
||||
private const val TAG_NAMESPACE_ARTIST = "artist"
|
||||
|
||||
val BASE_URL = "https://pururin.io"
|
||||
}
|
||||
|
||||
@@ -60,6 +60,10 @@ abstract class RaisedSearchMetadata {
|
||||
}
|
||||
}
|
||||
|
||||
fun List<RaisedTag>.ofNamespace(ns: String): List<RaisedTag> {
|
||||
return filter { it.namespace == ns }
|
||||
}
|
||||
|
||||
fun flatten(): FlatMetadata {
|
||||
require(mangaId != -1L)
|
||||
|
||||
|
||||
5
app/src/main/java/exh/util/StringUtil.kt
Normal file
5
app/src/main/java/exh/util/StringUtil.kt
Normal file
@@ -0,0 +1,5 @@
|
||||
package exh.util
|
||||
|
||||
fun List<String>.trimAll() = map { it.trim() }
|
||||
fun List<String>.dropBlank() = filter { it.isNotBlank() }
|
||||
fun List<String>.dropEmpty() = filter { it.isNotEmpty() }
|
||||
Reference in New Issue
Block a user