diff --git a/app/src/main/java/eu/kanade/tachiyomi/source/online/english/Pururin.kt b/app/src/main/java/eu/kanade/tachiyomi/source/online/english/Pururin.kt index c1efb9ec1..8892bc723 100644 --- a/app/src/main/java/eu/kanade/tachiyomi/source/online/english/Pururin.kt +++ b/app/src/main/java/eu/kanade/tachiyomi/source/online/english/Pururin.kt @@ -1,5 +1,6 @@ package eu.kanade.tachiyomi.source.online.english +import android.net.Uri import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.MangasPage import eu.kanade.tachiyomi.source.online.HttpSource @@ -34,4 +35,16 @@ class Pururin(delegate: HttpSource) : DelegatedHttpSource(delegate), super.fetchSearchManga(page, query, filters) } } + + override fun parseIntoMetadata(metadata: PururinSearchMetadata, input: Document) { + val selfLink = input.select("[itemprop=name]").last().parent() + val parsedSelfLink = Uri.parse(selfLink.attr("href")).pathSegments + + with(metadata) { + prId = parsedSelfLink[parsedSelfLink.lastIndex - 1].toIntOrNull() + prShortLink = parsedSelfLink.last() + + title = + } + } } \ No newline at end of file diff --git a/app/src/main/java/exh/metadata/metadata/PururinSearchMetadata.kt b/app/src/main/java/exh/metadata/metadata/PururinSearchMetadata.kt index bc86a4b3f..a2ad7a498 100644 --- a/app/src/main/java/exh/metadata/metadata/PururinSearchMetadata.kt +++ b/app/src/main/java/exh/metadata/metadata/PururinSearchMetadata.kt @@ -2,6 +2,7 @@ package exh.metadata.metadata import eu.kanade.tachiyomi.source.model.SManga import exh.metadata.metadata.base.RaisedSearchMetadata +import exh.plusAssign class PururinSearchMetadata : RaisedSearchMetadata() { var prId: Int? = null @@ -34,7 +35,7 @@ class PururinSearchMetadata : RaisedSearchMetadata() { var language: String? = null var languageDisp: String? = null - var uploadDisp: String? = null + var uploaderDisp: String? = null var pages: Int? = null @@ -44,7 +45,41 @@ class PururinSearchMetadata : RaisedSearchMetadata() { var averageRating: Double? = null override fun copyTo(manga: SManga) { - TODO("not implemented") //To change body of created functions use File | Settings | File Templates. + prId?.let { prId -> + prShortLink?.let { prShortLink -> + manga.url = "$BASE_URL/gallery/$prId/$prShortLink" + } + } + + (title ?: altTitle)?.let { + manga.title = it + } + + thumbnailUrl?.let { + manga.thumbnail_url = it + } + + (artistDisp ?: artist)?.let { + manga.artist = it + } + + manga.genre = tagsToGenreString() + + val titleDesc = StringBuilder() + title?.let { titleDesc += "English Title: $it\n" } + 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)" } + + val tagsDesc = tagsToDescription() + + manga.description = listOf(titleDesc.toString(), detailsDesc.toString(), tagsDesc.toString()) + .filter(String::isNotBlank) + .joinToString(separator = "\n") } companion object {