Few fixes chapters MangaKawaii (#11785)
* Few fixes chapters MangaKawaii * Removes log import
This commit is contained in:
parent
0e1b9d7f56
commit
8f06e8b651
|
@ -5,7 +5,7 @@ ext {
|
|||
extName = 'Mangakawaii'
|
||||
pkgNameSuffix = 'fr.mangakawaii'
|
||||
extClass = '.MangaKawaii'
|
||||
extVersionCode = 32
|
||||
extVersionCode = 33
|
||||
}
|
||||
|
||||
dependencies {
|
||||
|
|
|
@ -16,6 +16,7 @@ import okhttp3.Response
|
|||
import org.jsoup.nodes.Document
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Calendar
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
import kotlin.math.absoluteValue
|
||||
|
@ -101,6 +102,16 @@ class MangaKawaii : ParsedHttpSource() {
|
|||
"Terminé" -> SManga.COMPLETED
|
||||
else -> SManga.UNKNOWN
|
||||
}
|
||||
|
||||
// add alternative name to manga description
|
||||
document.select("span[itemprop=name alternativeHeadline]").joinToString { it.ownText() }.let {
|
||||
if (it.isNotBlank()) {
|
||||
description = when {
|
||||
description.isNullOrBlank() -> "Alternative Names: $it"
|
||||
else -> "$description\n\nAlternative Names: $it"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Chapter list
|
||||
|
@ -109,31 +120,45 @@ class MangaKawaii : ParsedHttpSource() {
|
|||
override fun chapterListParse(response: Response): List<SChapter> {
|
||||
val document = response.asJsoup()
|
||||
|
||||
var mangaDocument = document
|
||||
val visibleChapters = document.select(".table__chapter>a")
|
||||
val visibleChapters = document.select("tr[class*='volume-']")
|
||||
if (!visibleChapters.isEmpty()) {
|
||||
// There is chapters, but the complete list isn't displayed here
|
||||
// To avoid getting the whole list, let's instead go to a manga page to get the list of links
|
||||
val someChapter = visibleChapters[0].attr("href")
|
||||
// There is chapters, but the complete list isn't always displayed here
|
||||
// To get the whole list, let's instead go to a manga page to get the list of links
|
||||
val someChapter = visibleChapters[0].select(".table__chapter > a").attr("href")
|
||||
val mangaDocument = client.newCall(GET("$baseUrl$someChapter", headers)).execute().asJsoup()
|
||||
val notVisibleChapters = mangaDocument.select("#dropdownMenuOffset+ul li")
|
||||
|
||||
mangaDocument = client.newCall(GET("$baseUrl$someChapter", headers)).execute().asJsoup()
|
||||
|
||||
return mangaDocument.select("#dropdownMenuOffset+ul li").mapIndexed { i, it ->
|
||||
// If not everything is displayed
|
||||
if (visibleChapters.count() < notVisibleChapters.count()) {
|
||||
return notVisibleChapters.map {
|
||||
SChapter.create().apply {
|
||||
url = it.select("a").attr("href").replace(baseUrl, "")
|
||||
chapter_number = i.toFloat()
|
||||
setUrlWithoutDomain(it.select("a").attr("href"))
|
||||
name = it.select("a").text()
|
||||
date_upload = 0
|
||||
scanlator = ""
|
||||
date_upload = today
|
||||
}
|
||||
}
|
||||
} else {
|
||||
return visibleChapters.map {
|
||||
SChapter.create().apply {
|
||||
setUrlWithoutDomain(it.select("td.table__chapter > a").attr("href"))
|
||||
name = it.select("td.table__chapter > a span").text()
|
||||
date_upload = parseDate(it.select("td.table__date").text())
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return mutableListOf()
|
||||
}
|
||||
|
||||
return mutableListOf<SChapter>()
|
||||
}
|
||||
private val today = Calendar.getInstance().apply {
|
||||
set(Calendar.HOUR_OF_DAY, 0)
|
||||
set(Calendar.MINUTE, 0)
|
||||
set(Calendar.SECOND, 0)
|
||||
set(Calendar.MILLISECOND, 0)
|
||||
}.timeInMillis
|
||||
|
||||
private fun parseDate(date: String): Long {
|
||||
return SimpleDateFormat("dd.MM.yyyy", Locale.US).parse(date)?.time ?: 0L
|
||||
return SimpleDateFormat("dd.MM.yyyy", Locale.US).parse(date)?.time ?: today
|
||||
}
|
||||
|
||||
// Pages
|
||||
|
@ -142,12 +167,12 @@ class MangaKawaii : ParsedHttpSource() {
|
|||
val mangaSlug = Regex("""var oeuvre_slug = "([^"]*)";""").find(document.toString())?.groupValues?.get(1)
|
||||
|
||||
val pages = mutableListOf<Page>()
|
||||
Regex(""""page_image":"([^"]*)"""").findAll(document.toString())?.asIterable().mapIndexed { i, it ->
|
||||
Regex(""""page_image":"([^"]*)"""").findAll(document.toString()).asIterable().mapIndexed { i, it ->
|
||||
pages.add(
|
||||
Page(
|
||||
i,
|
||||
cdnUrl + "/uploads/manga/" + mangaSlug + "/chapters_fr/" + chapterSlug + "/" + it?.groupValues?.get(1),
|
||||
cdnUrl + "/uploads/manga/" + mangaSlug + "/chapters_fr/" + chapterSlug + "/" + it?.groupValues?.get(1)
|
||||
cdnUrl + "/uploads/manga/" + mangaSlug + "/chapters_fr/" + chapterSlug + "/" + it.groupValues[1],
|
||||
cdnUrl + "/uploads/manga/" + mangaSlug + "/chapters_fr/" + chapterSlug + "/" + it.groupValues[1]
|
||||
)
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue