fix(fr/animesama): Various fixes (#2023)
* Popular category parser * Voice preference selection * NSFW status
This commit is contained in:
@ -8,9 +8,9 @@ ext {
|
|||||||
extName = 'Anime-Sama'
|
extName = 'Anime-Sama'
|
||||||
pkgNameSuffix = 'fr.animesama'
|
pkgNameSuffix = 'fr.animesama'
|
||||||
extClass = '.AnimeSama'
|
extClass = '.AnimeSama'
|
||||||
extVersionCode = 2
|
extVersionCode = 3
|
||||||
libVersion = 13
|
libVersion = 13
|
||||||
containsNsfw = true
|
containsNsfw = false
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
|
@ -50,15 +50,18 @@ class AnimeSama : ConfigurableAnimeSource, AnimeHttpSource() {
|
|||||||
|
|
||||||
// ============================== Popular ===============================
|
// ============================== Popular ===============================
|
||||||
override fun popularAnimeParse(response: Response): AnimesPage {
|
override fun popularAnimeParse(response: Response): AnimesPage {
|
||||||
val animes = response.asJsoup()
|
val doc = response.body.string()
|
||||||
val seasons = animes.select("h2:contains(les classiques) + .scrollBarStyled > div").flatMap {
|
val page = response.request.url.fragment?.toInt() ?: 0
|
||||||
val animeUrl = it.getElementsByTag("a").attr("href")
|
val regex = Regex("^\\s*carteClassique\\(\\s*.*?\\s*,\\s*\"(.*?)\".*\\)", RegexOption.MULTILINE)
|
||||||
|
val chunks = regex.findAll(doc).chunked(5).toList()
|
||||||
|
val seasons = chunks.getOrNull(page - 1)?.flatMap {
|
||||||
|
val animeUrl = "$baseUrl/catalogue/${it.groupValues[1]}"
|
||||||
fetchAnimeSeasons(animeUrl)
|
fetchAnimeSeasons(animeUrl)
|
||||||
}
|
}?.toList() ?: emptyList()
|
||||||
return AnimesPage(seasons, false)
|
return AnimesPage(seasons, page < chunks.size)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun popularAnimeRequest(page: Int): Request = GET(baseUrl)
|
override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/#$page")
|
||||||
|
|
||||||
// =============================== Latest ===============================
|
// =============================== Latest ===============================
|
||||||
override fun latestUpdatesParse(response: Response): AnimesPage {
|
override fun latestUpdatesParse(response: Response): AnimesPage {
|
||||||
@ -144,9 +147,8 @@ class AnimeSama : ConfigurableAnimeSource, AnimeHttpSource() {
|
|||||||
|
|
||||||
return this.sortedWith(
|
return this.sortedWith(
|
||||||
compareBy(
|
compareBy(
|
||||||
{ it.quality.contains(voices) },
|
{ it.quality.contains(voices, true) },
|
||||||
{ it.quality.contains(quality) },
|
{ it.quality.contains(quality) },
|
||||||
{ Regex("""(\d+)p""").find(it.quality)?.groupValues?.get(1)?.toIntOrNull() ?: 0 },
|
|
||||||
),
|
),
|
||||||
).reversed()
|
).reversed()
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user