Apply suggestions from code review

Koitharu 2 years ago
parent e391ed52f3
commit 51da0b62c1

@ -42,8 +42,8 @@ internal abstract class MangaFireParser(
webClient.httpGet("https://$domain/filter").parseHtml()
.select(".genres > li").map {
MangaTag(
title = it.selectFirst("label")!!.ownText().trim(),
key = it.selectFirst("input")!!.attr("value"),
title = it.selectFirstOrThrow("label").ownText().toTitleCase(sourceLocale),
key = it.selectFirstOrThrow("input").attr("value"),
source = source
)
}.associateBy { it.title }
@ -123,14 +123,14 @@ internal abstract class MangaFireParser(
private fun Document.parseMangaList(): List<Manga> {
return select(".original.card-lg .unit .inner").map {
val a = it.selectFirst(".info > a")!!
val a = it.selectFirstOrThrow(".info > a")
val mangaUrl = a.attrAsRelativeUrl("href")
Manga(
id = generateUid(mangaUrl),
url = mangaUrl,
publicUrl = mangaUrl.toAbsoluteUrl(domain),
title = a.ownText(),
coverUrl = it.selectFirst("img")!!.attrAsAbsoluteUrl("src"),
coverUrl = it.selectFirstOrThrow("img").attrAsAbsoluteUrl("src"),
source = source,
altTitle = null,
largeCoverUrl = null,
@ -149,11 +149,11 @@ internal abstract class MangaFireParser(
var isNsfw = false
return manga.copy(
title = document.selectFirst(".info > h1")!!.ownText(),
altTitle = document.selectFirst(".info > h6")!!.ownText(),
title = document.selectFirstOrThrow(".info > h1").ownText(),
altTitle = document.selectFirst(".info > h6")?.ownText(),
rating = document.selectFirst("div.rating-box")?.attr("data-score")
?.toFloatOrNull()?.div(10) ?: RATING_UNKNOWN,
coverUrl = document.selectFirst("div.manga-detail div.poster img")!!
coverUrl = document.selectFirstOrThrow("div.manga-detail div.poster img")
.attrAsAbsoluteUrl("src"),
tags = document.select("div.meta a[href*=/genre/]").mapNotNullToSet {
val tag = it.ownText().trim()
@ -175,7 +175,7 @@ internal abstract class MangaFireParser(
},
author = document.select("div.meta a[href*=/author/]")
.joinToString { it.ownText().trim() },
description = document.selectFirst("#synopsis div.modal-content")!!.text(),
description = document.selectFirstOrThrow("#synopsis div.modal-content").html(),
chapters = getChapters(manga.url, document)
)
}
@ -289,7 +289,7 @@ internal abstract class MangaFireParser(
url = url,
publicUrl = url.toAbsoluteUrl(domain),
title = it.ownText(),
coverUrl = mangaDocument.selectFirst("div.manga-detail div.poster img")!!
coverUrl = mangaDocument.selectFirstOrThrow("div.manga-detail div.poster img")
.attrAsAbsoluteUrl("src"),
source = source,
altTitle = null,
@ -302,8 +302,7 @@ internal abstract class MangaFireParser(
)
}
}.awaitAll()
.filterNotNull()
.also { mangas.addAll(it) }
.filterNotNullTo(mangas)
// "You may also like"
document.select(".side-manga:not(:has(.head:contains(trending))) .unit").forEach {
@ -313,8 +312,8 @@ internal abstract class MangaFireParser(
id = generateUid(url),
url = url,
publicUrl = url.toAbsoluteUrl(domain),
title = it.selectFirst(".info h6")!!.ownText(),
coverUrl = it.selectFirst(".poster img")!!.attrAsAbsoluteUrl("src"),
title = it.selectFirstOrThrow(".info h6").ownText(),
coverUrl = it.selectFirstOrThrow(".poster img").attrAsAbsoluteUrl("src"),
source = source,
altTitle = null,
largeCoverUrl = null,

Loading…
Cancel
Save