fix(fr/animesama): Various fixes (#2023)

* Popular category parser
* Voice preference selection
* NSFW status
This commit is contained in:
hollow
2023-08-06 23:03:06 +00:00
committed by GitHub
parent 0afcf2dea8
commit 5b0da5a8cd
2 changed files with 12 additions and 10 deletions

View File

@ -8,9 +8,9 @@ ext {
extName = 'Anime-Sama'
pkgNameSuffix = 'fr.animesama'
extClass = '.AnimeSama'
extVersionCode = 2
extVersionCode = 3
libVersion = 13
containsNsfw = true
containsNsfw = false
}
dependencies {

View File

@ -50,15 +50,18 @@ class AnimeSama : ConfigurableAnimeSource, AnimeHttpSource() {
// ============================== Popular ===============================
override fun popularAnimeParse(response: Response): AnimesPage {
val animes = response.asJsoup()
val seasons = animes.select("h2:contains(les classiques) + .scrollBarStyled > div").flatMap {
val animeUrl = it.getElementsByTag("a").attr("href")
val doc = response.body.string()
val page = response.request.url.fragment?.toInt() ?: 0
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)
}
return AnimesPage(seasons, false)
}?.toList() ?: emptyList()
return AnimesPage(seasons, page < chunks.size)
}
override fun popularAnimeRequest(page: Int): Request = GET(baseUrl)
override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/#$page")
// =============================== Latest ===============================
override fun latestUpdatesParse(response: Response): AnimesPage {
@ -144,9 +147,8 @@ class AnimeSama : ConfigurableAnimeSource, AnimeHttpSource() {
return this.sortedWith(
compareBy(
{ it.quality.contains(voices) },
{ it.quality.contains(voices, true) },
{ it.quality.contains(quality) },
{ Regex("""(\d+)p""").find(it.quality)?.groupValues?.get(1)?.toIntOrNull() ?: 0 },
),
).reversed()
}