Xfani: Fix episode list sort (#696)

* Xfani: Fix episode list sort

* Triggering github action
This commit is contained in:
AlphaBoom 2025-02-23 02:23:06 +08:00 committed by GitHub
parent ee23fc1e19
commit 00f3a58b42
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 5 deletions

View file

@ -1,7 +1,7 @@
ext { ext {
extName = 'Xfani' extName = 'Xfani'
extClass = '.Xfani' extClass = '.Xfani'
extVersionCode = 4 extVersionCode = 5
} }
apply from: "$rootDir/common.gradle" apply from: "$rootDir/common.gradle"

View file

@ -136,9 +136,8 @@ class Xfani : AnimeHttpSource(), ConfigurableAnimeSource {
SEpisode.create().apply { SEpisode.create().apply {
name = it.text() name = it.text()
url = it.attr("href") url = it.attr("href")
episode_number = numberRegex.find(name)?.value?.toFloat() ?: -1F
} }
}.sortedByDescending { it.episode_number } }.reversed()
} }
override fun videoListParse(response: Response): List<Video> { override fun videoListParse(response: Response): List<Video> {
@ -155,9 +154,11 @@ class Xfani : AnimeHttpSource(), ConfigurableAnimeSource {
val currentEpisodeName = allEpisodeElements.firstNotNullOfOrNull { elements -> val currentEpisodeName = allEpisodeElements.firstNotNullOfOrNull { elements ->
elements.firstOrNull { it.attr("href") == currentPath }?.select("span")?.text() elements.firstOrNull { it.attr("href") == currentPath }?.select("span")?.text()
} }
val targetEpisodeNumber = currentEpisodeName?.let { numberRegex.find(it)?.value?.toIntOrNull() } ?: -1 val targetEpisodeNumber =
currentEpisodeName?.let { numberRegex.find(it)?.value?.toIntOrNull() } ?: -1
val sourceList = allEpisodeElements.map { elements -> val sourceList = allEpisodeElements.map { elements ->
elements.findSourceOrNull { name, _ -> numberRegex.find(name)?.value?.toIntOrNull() == targetEpisodeNumber } elements.findSourceOrNull { name, _ -> name == currentEpisodeName }
?: elements.findSourceOrNull { name, _ -> numberRegex.find(name)?.value?.toIntOrNull() == targetEpisodeNumber }
?: elements.findSourceOrNull { _, url -> url.endsWith(currentEpisodePathName) } ?: elements.findSourceOrNull { _, url -> url.endsWith(currentEpisodePathName) }
} }
val sourceNameList = document.select(".anthology-tab .swiper-wrapper a").map { val sourceNameList = document.select(".anthology-tab .swiper-wrapper a").map {