[Bentomanga] Fixes

source/neox^2
Koitharu 3 years ago
parent 65170c0fe9
commit 96b9ac36f3
No known key found for this signature in database
GPG Key ID: 8E861F8CE6E7CE27

@ -9,8 +9,10 @@ import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.PagedMangaParser import org.koitharu.kotatsu.parsers.PagedMangaParser
import org.koitharu.kotatsu.parsers.config.ConfigKey import org.koitharu.kotatsu.parsers.config.ConfigKey
import org.koitharu.kotatsu.parsers.exception.ParseException
import org.koitharu.kotatsu.parsers.model.* import org.koitharu.kotatsu.parsers.model.*
import org.koitharu.kotatsu.parsers.util.* import org.koitharu.kotatsu.parsers.util.*
import org.koitharu.kotatsu.parsers.util.json.getIntOrDefault
import java.util.* import java.util.*
@MangaSourceParser("BENTOMANGA", "Bentomanga", "fr") @MangaSourceParser("BENTOMANGA", "Bentomanga", "fr")
@ -110,7 +112,7 @@ internal class BentomangaParser(context: MangaLoaderContext) : PagedMangaParser(
}, },
author = root.selectFirst(".datas_more-authors-people")?.textOrNull().assertNotNull("author"), author = root.selectFirst(".datas_more-authors-people")?.textOrNull().assertNotNull("author"),
chapters = run { chapters = run {
val input = root.selectFirst("input[name=\"limit\"]") ?: return@run emptyList() val input = root.selectFirst("input[name=\"limit\"]") ?: return@run parseChapters(root)
val max = input.attr("max").toInt() val max = input.attr("max").toInt()
if (max <= 1) { if (max <= 1) {
parseChapters(root) parseChapters(root)
@ -142,6 +144,9 @@ internal class BentomangaParser(context: MangaLoaderContext) : PagedMangaParser(
"x-requested-with", "XMLHttpRequest", "x-requested-with", "XMLHttpRequest",
), ),
).parseJson() ).parseJson()
if (json.getIntOrDefault("type", 1) == 2) {
throw ParseException("Light Novels are not supported", chapterUrl)
}
val baseUrl = json.getString("baseImagesUrl") val baseUrl = json.getString("baseImagesUrl")
val pages = json.getJSONArray("page_array") val pages = json.getJSONArray("page_array")
return (0 until pages.length()).map { i -> return (0 until pages.length()).map { i ->
@ -186,7 +191,7 @@ internal class BentomangaParser(context: MangaLoaderContext) : PagedMangaParser(
name = if (name != null && name != title) "$title: $name" else title, name = if (name != null && name != title) "$title: $name" else title,
number = href.substringAfterLast('/').toIntOrNull() ?: 0, number = href.substringAfterLast('/').toIntOrNull() ?: 0,
url = href, url = href,
scanlator = div.selectFirst(".team_link-name")?.textOrNull().assertNotNull("scanlator"), scanlator = div.selectFirst(".team_link-name")?.textOrNull(),
uploadDate = div.selectFirst(".component-chapter-date") uploadDate = div.selectFirst(".component-chapter-date")
?.ownTextOrNull() ?.ownTextOrNull()
.parseDate(), .parseDate(),

Loading…
Cancel
Save