change request and change url Nettruyenmax & NetTruyen

devi 3 years ago
parent 0dc5032a7a
commit fce952d240

@ -113,7 +113,7 @@ internal class MangaGeko(context: MangaLoaderContext) : PagedMangaParser(context
val a = li.selectFirstOrThrow("a") val a = li.selectFirstOrThrow("a")
val url = a.attrAsRelativeUrl("href") val url = a.attrAsRelativeUrl("href")
val name = li.selectFirstOrThrow(".chapter-title").text() val name = li.selectFirstOrThrow(".chapter-title").text()
val dateText = li.select(".chapter-update").attr("datetime").substringBeforeLast(",") val dateText = li.select(".chapter-update").attr("datetime").substringBeforeLast(',')
.replace(".", "").replace("Sept", "Sep") .replace(".", "").replace("Sept", "Sep")
MangaChapter( MangaChapter(
id = generateUid(url), id = generateUid(url),

@ -49,10 +49,9 @@ internal class LegacyScansParser(context: MangaLoaderContext) :
if (!tags.isNullOrEmpty()) { if (!tags.isNullOrEmpty()) {
for (tag in tags) { for (tag in tags) {
append(tag.key) append(tag.key)
append(",") append(',')
} }
} }
append("&type=&start=") append("&type=&start=")
append(start) append(start)
append("&end=") append("&end=")

@ -3,15 +3,9 @@ package org.koitharu.kotatsu.parsers.site.madara.all
import org.jsoup.nodes.Document import org.jsoup.nodes.Document
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.ContentType import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.model.Manga
import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.attrAsRelativeUrlOrNull import org.koitharu.kotatsu.parsers.util.*
import org.koitharu.kotatsu.parsers.util.generateUid
import org.koitharu.kotatsu.parsers.util.mapChapters
import org.koitharu.kotatsu.parsers.util.parseFailed
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
import java.util.Locale import java.util.Locale
@ -25,8 +19,8 @@ internal class Ero18x(context: MangaLoaderContext) :
override suspend fun getChapters(manga: Manga, doc: Document): List<MangaChapter> { override suspend fun getChapters(manga: Manga, doc: Document): List<MangaChapter> {
val dateFormat = SimpleDateFormat(datePattern, sourceLocale) val dateFormat = SimpleDateFormat(datePattern, sourceLocale)
return doc.body().select(selectChapter).mapChapters(reversed = true) { i, li -> return doc.body().select(selectChapter).mapChapters(reversed = true) { i, li ->
val a = li.selectFirst("a") val a = li.selectFirstOrThrow("a")
val href = a?.attrAsRelativeUrlOrNull("href") ?: li.parseFailed("Link is missing") val href = a.attrAsRelativeUrl("href")
val link = href + stylepage val link = href + stylepage
val dateText = li.selectFirst("a.c-new-tag")?.attr("title") ?: li.selectFirst(selectDate)?.text() val dateText = li.selectFirst("a.c-new-tag")?.attr("title") ?: li.selectFirst(selectDate)?.text()

@ -3,15 +3,9 @@ package org.koitharu.kotatsu.parsers.site.madara.es
import org.jsoup.nodes.Document import org.jsoup.nodes.Document
import org.koitharu.kotatsu.parsers.MangaLoaderContext import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.Manga import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.model.MangaChapter
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.util.attrAsRelativeUrlOrNull import org.koitharu.kotatsu.parsers.util.*
import org.koitharu.kotatsu.parsers.util.generateUid
import org.koitharu.kotatsu.parsers.util.mapChapters
import org.koitharu.kotatsu.parsers.util.parseFailed
import org.koitharu.kotatsu.parsers.util.selectFirstOrThrow
import java.text.SimpleDateFormat import java.text.SimpleDateFormat
@MangaSourceParser("MANHWA_ES", "Manhwa Es", "es") @MangaSourceParser("MANHWA_ES", "Manhwa Es", "es")
@ -24,8 +18,8 @@ internal class ManhwaEs(context: MangaLoaderContext) :
override suspend fun getChapters(manga: Manga, doc: Document): List<MangaChapter> { override suspend fun getChapters(manga: Manga, doc: Document): List<MangaChapter> {
val dateFormat = SimpleDateFormat(datePattern, sourceLocale) val dateFormat = SimpleDateFormat(datePattern, sourceLocale)
return doc.body().select(selectChapter).mapChapters(reversed = true) { i, li -> return doc.body().select(selectChapter).mapChapters(reversed = true) { i, li ->
val a = li.selectFirst("a") val a = li.selectFirstOrThrow("a")
val href = a?.attrAsRelativeUrlOrNull("href") ?: li.parseFailed("Link is missing") val href = a.attrAsRelativeUrl("href")
val link = href + stylepage val link = href + stylepage
val dateText = li.selectFirst("a.c-new-tag")?.attr("title") ?: li.selectFirst(selectDate)?.text() val dateText = li.selectFirst("a.c-new-tag")?.attr("title") ?: li.selectFirst(selectDate)?.text()

@ -17,6 +17,11 @@ internal class ManhwaHub(context: MangaLoaderContext) :
override val withoutAjax = true override val withoutAjax = true
override val listUrl = "genre/manhwa" override val listUrl = "genre/manhwa"
override val selectTestAsync = "ul.box-list-chapter" override val selectTestAsync = "ul.box-list-chapter"
init {
paginator.firstPage = 1
searchPaginator.firstPage = 1
}
override suspend fun getListPage( override suspend fun getListPage(
page: Int, page: Int,
query: String?, query: String?,
@ -27,21 +32,20 @@ internal class ManhwaHub(context: MangaLoaderContext) :
val url = buildString { val url = buildString {
append("https://") append("https://")
append(domain) append(domain)
val pages = page + 1
when { when {
!query.isNullOrEmpty() -> { !query.isNullOrEmpty() -> {
append("/search?s=") append("/search?s=")
append(query.urlEncoded()) append(query.urlEncoded())
append("&page=") append("&page=")
append(pages) append(page)
append("&")
} }
!tags.isNullOrEmpty() -> { !tags.isNullOrEmpty() -> {
append("/$tagPrefix") append("/$tagPrefix")
append(tag?.key.orEmpty()) append(tag?.key.orEmpty())
append("?page=") append("?page=")
append(pages) append(page)
append("&") append("&")
} }
@ -49,7 +53,7 @@ internal class ManhwaHub(context: MangaLoaderContext) :
append("/$listUrl") append("/$listUrl")
append("?page=") append("?page=")
append(pages) append(page)
append("&") append("&")
} }
@ -69,7 +73,7 @@ internal class ManhwaHub(context: MangaLoaderContext) :
return doc.select("div.row.c-tabs-item__content").ifEmpty { return doc.select("div.row.c-tabs-item__content").ifEmpty {
doc.select("div.page-item-detail") doc.select("div.page-item-detail")
}.map { div -> }.map { div ->
val href = div.selectFirst("a")?.attrAsRelativeUrlOrNull("href") ?: div.parseFailed("Link not found") val href = div.selectFirstOrThrow("a").attrAsRelativeUrl("href")
val summary = div.selectFirst(".tab-summary") ?: div.selectFirst(".item-summary") val summary = div.selectFirst(".tab-summary") ?: div.selectFirst(".item-summary")
Manga( Manga(
id = generateUid(href), id = generateUid(href),

@ -19,6 +19,8 @@ class NetTruyenParser(context: MangaLoaderContext) :
PagedMangaParser(context, MangaSource.NETTRUYEN, pageSize = 36) { PagedMangaParser(context, MangaSource.NETTRUYEN, pageSize = 36) {
override val configKeyDomain: ConfigKey.Domain = ConfigKey.Domain( override val configKeyDomain: ConfigKey.Domain = ConfigKey.Domain(
"www.nettruyenlive.com",
"www.nettruyenio.com",
"www.nettruyento.com", "www.nettruyento.com",
"nettruyento.com", "nettruyento.com",
"nettruyenin.com", "nettruyenin.com",

@ -9,7 +9,7 @@ import org.koitharu.kotatsu.parsers.site.wpcomics.WpComicsParser
@MangaSourceParser("NETTRUYENMAX", "Nettruyenmax", "vi") @MangaSourceParser("NETTRUYENMAX", "Nettruyenmax", "vi")
internal class Nettruyenmax(context: MangaLoaderContext) : internal class Nettruyenmax(context: MangaLoaderContext) :
WpComicsParser(context, MangaSource.NETTRUYENMAX, "www.nettruyenmax.com", 35) { WpComicsParser(context, MangaSource.NETTRUYENMAX, "www.nettruyenus.com", 36) {
override val listUrl = "/tim-truyen" override val listUrl = "/tim-truyen"
} }

Loading…
Cancel
Save