MangaFast: various fixes (#6346)

This commit is contained in:
scb261 2021-03-29 16:21:10 +03:00 committed by GitHub
parent 0d1ad39fc1
commit 3c106cfb35
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 34 additions and 25 deletions

View File

@ -5,7 +5,7 @@ ext {
extName = 'MangaFast' extName = 'MangaFast'
pkgNameSuffix = 'en.mangafast' pkgNameSuffix = 'en.mangafast'
extClass = '.MangaFast' extClass = '.MangaFast'
extVersionCode = 6 extVersionCode = 7
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -27,46 +27,55 @@ class MangaFast : ParsedHttpSource() {
return GET("$baseUrl/list-manga" + if (page > 1) "/page/$page" else "", headers) return GET("$baseUrl/list-manga" + if (page > 1) "/page/$page" else "", headers)
} }
override fun popularMangaSelector() = ".daftar .bge" override fun popularMangaSelector() = ".list-content .ls4 .ls4v"
override fun popularMangaFromElement(element: Element) = SManga.create().apply { override fun popularMangaFromElement(element: Element) = SManga.create().apply {
setUrlWithoutDomain(element.select(".bgei a").attr("href")) val a = element.select("a")
title = element.select(".kan h3").text().trim() setUrlWithoutDomain(a.attr("href"))
thumbnail_url = element.select(".bgei img").attr("src") title = a.attr("title")
thumbnail_url = a.select("img").attr("src")
} }
override fun popularMangaNextPageSelector() = ".btn-w a:contains(Next »)" override fun popularMangaNextPageSelector() = ".btn-w a:contains(Next »)"
// latest // latest
override fun latestUpdatesRequest(page: Int) = GET("$baseUrl", headers) override fun latestUpdatesRequest(page: Int) = GET(baseUrl, headers)
override fun latestUpdatesSelector() = ".ls8w div.ls8" override fun latestUpdatesSelector() = ".ls8w div.ls8 .ls8v"
override fun latestUpdatesFromElement(element: Element) = SManga.create().apply { override fun latestUpdatesFromElement(element: Element) = popularMangaFromElement(element)
setUrlWithoutDomain(element.select(".ls8j a").attr("href"))
title = element.select("h4").text().trim()
thumbnail_url = element.select(".ls8v img").attr("src")
}
override fun latestUpdatesNextPageSelector(): String? = null override fun latestUpdatesNextPageSelector(): String? = null
// search // search
override fun searchMangaRequest(page: Int, query: String, filters: FilterList) = GET("$baseUrl/page/$page/?s=$query", headers) override fun searchMangaRequest(page: Int, query: String, filters: FilterList) = GET("$baseUrl/page/$page/?s=$query", headers)
override fun searchMangaSelector() = latestUpdatesSelector() override fun searchMangaSelector() = popularMangaSelector()
override fun searchMangaFromElement(element: Element) = latestUpdatesFromElement(element) override fun searchMangaFromElement(element: Element) = popularMangaFromElement(element)
override fun searchMangaNextPageSelector() = latestUpdatesNextPageSelector() override fun searchMangaNextPageSelector() = popularMangaNextPageSelector()
// manga details // manga details
override fun mangaDetailsParse(document: Document) = SManga.create().apply { override fun mangaDetailsParse(document: Document): SManga {
title = document.select("#Judul h1").text() val articleTitle = document.select("article header[id=article-title]")
author = document.select("td[itemprop=creator]").text().trim() val articleInfo = document.select("article section[id=article-info]")
status = parseStatus(document.select(".inftable").text())
genre = document.select("a[itemprop=genre]").joinToString { it.text() } val manga = SManga.create().apply {
description = document.select("#Judul .desc").first().text().substringAfter(title).substringAfter(". ") title = articleTitle.select("h1[itemprop=name]").text().trim()
thumbnail_url = document.select("#Informasi .row img.shadow").first().attr("src") description = articleTitle.select("p.desc").text().trim()
thumbnail_url = articleInfo.select("img.shadow").attr("src")
}
articleInfo.select("table.inftable tbody tr").forEach {
val row = it.select("td")
when (row[0].text()) {
"Genre" -> manga.genre = row[1].text().trim().removeSuffix(",")
"Author" -> manga.author = row[1].text().trim()
"Status" -> manga.status = parseStatus(row[1].text())
}
}
return manga
} }
private fun parseStatus(status: String) = when { private fun parseStatus(status: String) = when {
@ -79,9 +88,9 @@ class MangaFast : ParsedHttpSource() {
override fun chapterListSelector() = ".chapter-link" override fun chapterListSelector() = ".chapter-link"
override fun chapterFromElement(element: Element) = SChapter.create().apply { override fun chapterFromElement(element: Element) = SChapter.create().apply {
setUrlWithoutDomain(element.select("a").attr("href")) setUrlWithoutDomain(element.attr("href"))
name = element.select(".text-left").text() name = element.select(".left").text()
date_upload = parseDate(element.select(".text-right").text()) date_upload = parseDate(element.select(".right").text())
} }
private fun parseDate(text: String): Long { private fun parseDate(text: String): Long {