From ee41b9d0f1dd3d82a0d982cb49af520acb8ac58a Mon Sep 17 00:00:00 2001 From: Mike <51273546+SnakeDoc83@users.noreply.github.com> Date: Thu, 13 Aug 2020 23:00:59 -0400 Subject: [PATCH] VCPVMP - fix images and chapters (#4118) --- src/es/vcpvmp/build.gradle | 3 +- .../tachiyomi/extension/es/vcpvmp/VCPVMP.kt | 41 +++++++++---------- .../extension/es/vcpvmp/VCPVMPFactory.kt | 3 ++ 3 files changed, 24 insertions(+), 23 deletions(-) diff --git a/src/es/vcpvmp/build.gradle b/src/es/vcpvmp/build.gradle index b23bda2b0..c1e53271a 100644 --- a/src/es/vcpvmp/build.gradle +++ b/src/es/vcpvmp/build.gradle @@ -5,8 +5,9 @@ ext { extName = 'VCPVMP' pkgNameSuffix = "es.vcpvmp" extClass = '.VCPVMPFactory' - extVersionCode = 2 + extVersionCode = 3 libVersion = '1.2' + containsNsfw = true } apply from: "$rootDir/common.gradle" diff --git a/src/es/vcpvmp/src/eu/kanade/tachiyomi/extension/es/vcpvmp/VCPVMP.kt b/src/es/vcpvmp/src/eu/kanade/tachiyomi/extension/es/vcpvmp/VCPVMP.kt index 65ba138b5..377d9b39f 100644 --- a/src/es/vcpvmp/src/eu/kanade/tachiyomi/extension/es/vcpvmp/VCPVMP.kt +++ b/src/es/vcpvmp/src/eu/kanade/tachiyomi/extension/es/vcpvmp/VCPVMP.kt @@ -11,6 +11,7 @@ import okhttp3.HttpUrl import okhttp3.Request import org.jsoup.nodes.Document import org.jsoup.nodes.Element +import rx.Observable open class VCPVMP(override val name: String, override val baseUrl: String) : ParsedHttpSource() { @@ -28,47 +29,43 @@ open class VCPVMP(override val name: String, override val baseUrl: String) : Par override fun popularMangaRequest(page: Int) = GET("$baseUrl/page/$page", headers) - override fun popularMangaSelector() = "div#posts div.gallery" + override fun popularMangaSelector() = "div#ccontent div.gallery" override fun popularMangaFromElement(element: Element) = SManga.create().apply { element.select("a.cover").first().let { setUrlWithoutDomain(it.attr("href")) title = it.select("div.caption").text() - thumbnail_url = getCover(it.select("img").attr("data-src")) + thumbnail_url = it.select("img").attr("abs:src").substringBefore("?") } } - private fun getCover(imgURL: String): String { - return if (imgURL == "") "" else imgURL.substringBefore("?") - } - override fun popularMangaNextPageSelector() = "ul.pagination > li.active + li" override fun mangaDetailsParse(document: Document) = SManga.create().apply { document.select("div#catag").let { - genre = document.select("div#tagsin > a[rel=tag]").joinToString(", ") { - it.text() - } - artist = "" - description = "" + genre = document.select("div#tagsin > a[rel=tag]").joinToString { it.text() } status = SManga.UNKNOWN + thumbnail_url = document.select(pageListSelector).firstOrNull()?.attr("abs:src") } } - override fun chapterListSelector() = "div#posts" - - override fun chapterFromElement(element: Element) = SChapter.create().apply { - name = element.select("h1").text() - setUrlWithoutDomain(element.baseUri()) + override fun fetchChapterList(manga: SManga): Observable> { + return Observable.just( + listOf( + SChapter.create().apply { + name = manga.title + url = manga.url + } + ) + ) } - override fun pageListRequest(chapter: SChapter) = GET(baseUrl + chapter.url) + override fun chapterListSelector() = throw UnsupportedOperationException("Not used") + override fun chapterFromElement(element: Element) = throw UnsupportedOperationException("Not used") - override fun pageListParse(document: Document): List = mutableListOf().apply { - document.select("div#posts img[data-src]").forEach { - add(Page(size, document.baseUri(), it.attr("data-src"))) - } - } + protected open val pageListSelector = "div.comicimg img" + override fun pageListParse(document: Document): List = document.select(pageListSelector) + .mapIndexed { i, img -> Page(i, "", img.attr("abs:src")) } override fun imageUrlParse(document: Document) = throw UnsupportedOperationException("Not used") diff --git a/src/es/vcpvmp/src/eu/kanade/tachiyomi/extension/es/vcpvmp/VCPVMPFactory.kt b/src/es/vcpvmp/src/eu/kanade/tachiyomi/extension/es/vcpvmp/VCPVMPFactory.kt index 88ee76983..4eefdbfb9 100644 --- a/src/es/vcpvmp/src/eu/kanade/tachiyomi/extension/es/vcpvmp/VCPVMPFactory.kt +++ b/src/es/vcpvmp/src/eu/kanade/tachiyomi/extension/es/vcpvmp/VCPVMPFactory.kt @@ -1,9 +1,11 @@ package eu.kanade.tachiyomi.extension.es.vcpvmp +import eu.kanade.tachiyomi.annotations.Nsfw import eu.kanade.tachiyomi.source.Source import eu.kanade.tachiyomi.source.SourceFactory import eu.kanade.tachiyomi.source.model.Filter +@Nsfw class VCPVMPFactory : SourceFactory { override fun createSources(): List = listOf( VCP(), @@ -14,6 +16,7 @@ class VCPVMPFactory : SourceFactory { class VCP : VCPVMP("VCP", "https://vercomicsporno.com") class VMP : VCPVMP("VMP", "https://vermangasporno.com") { + override val pageListSelector = "div.comicimg img:last-child:not([alt^=banner])" // Array.from(document.querySelectorAll('div.tagcloud a.tag-cloud-link')) // .map(a => `Pair("${a.innerText}", "${a.href.replace('https://vermangasporno.com/genero/', '')}")`).join(',\n')