2021-04-07 11:52:58 +00:00
|
|
|
package eu.kanade.tachiyomi.extension.zh.dongmanmanhua
|
2020-01-20 15:04:27 +00:00
|
|
|
|
|
|
|
import eu.kanade.tachiyomi.network.GET
|
2021-04-07 11:52:58 +00:00
|
|
|
import eu.kanade.tachiyomi.multisrc.webtoons.Webtoons
|
2020-07-03 05:59:59 +00:00
|
|
|
import eu.kanade.tachiyomi.source.model.FilterList
|
2020-01-20 15:04:27 +00:00
|
|
|
import eu.kanade.tachiyomi.source.model.SChapter
|
|
|
|
import eu.kanade.tachiyomi.source.model.SManga
|
|
|
|
import eu.kanade.tachiyomi.util.asJsoup
|
|
|
|
import okhttp3.Headers
|
|
|
|
import okhttp3.Request
|
|
|
|
import okhttp3.Response
|
|
|
|
import org.jsoup.nodes.Document
|
|
|
|
import org.jsoup.nodes.Element
|
2020-09-13 22:33:59 +00:00
|
|
|
import java.text.SimpleDateFormat
|
|
|
|
import java.util.Locale
|
2020-01-20 15:04:27 +00:00
|
|
|
|
2021-04-07 11:52:58 +00:00
|
|
|
class DongmanManhua : Webtoons("Dongman Manhua", "https://www.dongmanmanhua.cn", "zh", "", dateFormat = SimpleDateFormat("yyyy-M-d", Locale.ENGLISH)) {
|
2020-01-20 15:04:27 +00:00
|
|
|
|
|
|
|
override fun headersBuilder(): Headers.Builder = super.headersBuilder()
|
|
|
|
.removeAll("Referer")
|
|
|
|
.add("Referer", baseUrl)
|
|
|
|
|
|
|
|
override fun popularMangaRequest(page: Int) = GET("$baseUrl/dailySchedule", headers)
|
|
|
|
|
|
|
|
override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/dailySchedule?sortOrder=UPDATE&webtoonCompleteType=ONGOING", headers)
|
|
|
|
|
|
|
|
override fun parseDetailsThumbnail(document: Document): String? {
|
|
|
|
return document.select("div.detail_body").attr("style").substringAfter("(").substringBefore(")")
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun chapterListRequest(manga: SManga): Request = GET(baseUrl + manga.url, headers)
|
|
|
|
|
|
|
|
override fun chapterListSelector() = "ul#_listUl li"
|
|
|
|
|
|
|
|
override fun chapterListParse(response: Response): List<SChapter> {
|
|
|
|
var document = response.asJsoup()
|
|
|
|
var continueParsing = true
|
|
|
|
val chapters = mutableListOf<SChapter>()
|
|
|
|
|
|
|
|
while (continueParsing) {
|
|
|
|
document.select(chapterListSelector()).map { chapters.add(chapterFromElement(it)) }
|
|
|
|
document.select("div.paginate a[onclick] + a").let { element ->
|
|
|
|
if (element.isNotEmpty()) document = client.newCall(GET(element.attr("abs:href"), headers)).execute().asJsoup()
|
|
|
|
else continueParsing = false
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return chapters
|
|
|
|
}
|
|
|
|
|
|
|
|
override fun chapterFromElement(element: Element): SChapter {
|
|
|
|
return SChapter.create().apply {
|
|
|
|
name = element.select("span.subj span").text()
|
|
|
|
url = element.select("a").attr("href").substringAfter(".cn")
|
|
|
|
date_upload = chapterParseDate(element.select("span.date").text())
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-07-03 05:59:59 +00:00
|
|
|
override fun getFilterList(): FilterList = FilterList()
|
2020-01-20 15:04:27 +00:00
|
|
|
}
|