Delegate Pururin.io

This commit is contained in:
NerdNumber9
2019-08-08 13:31:47 -04:00
parent 68de7b516e
commit 5195cb8eda
7 changed files with 113 additions and 34 deletions

View File

@@ -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 {

View File

@@ -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"
}

View File

@@ -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)

View 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() }