WIP: (en/animeowl) Solving NumerFormat expection #757

Closed
Arkai1 wants to merge 4 commits from Arkai1-patch-1 into main
Showing only changes of commit 1f507b3c73 - Show all commits

View file

@ -128,19 +128,26 @@ class AnimeOwl : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
override fun episodeListParse(response: Response): List<SEpisode> { override fun episodeListParse(response: Response): List<SEpisode> {
val document = response.asJsoup() val document = response.asJsoup()
val sub = document.select("#anime-cover-sub-content .episode-node").mapIndexed { idx, it -> val sub = document.select("#anime-cover-sub-content .episode-node").mapIndexed { idx, it ->
val episodeText = it.text().trim()
val episodeNumber = episodeText.toDoubleOrNull() ?: (idx + 1).toDouble()
EpisodeResponse.Episode( EpisodeResponse.Episode(
id = it.text().toDouble(), id = episodeNumber,
episodeIndex = idx.toString(), episodeIndex = idx.toString(),
name = it.text(), name = episodeText,
lang = "Sub", lang = "Sub",
href = it.attr("abs:href"), href = it.attr("abs:href"),
) )
} }
val dub = document.select("#anime-cover-dub-content .episode-node").mapIndexed { idx, it -> val dub = document.select("#anime-cover-dub-content .episode-node").mapIndexed { idx, it ->
val episodeText = it.text().trim()
val episodeNumber = episodeText.toDoubleOrNull() ?: (idx + 1).toDouble()
EpisodeResponse.Episode( EpisodeResponse.Episode(
id = it.text().toDouble(), id = episodeNumber,
episodeIndex = idx.toString(), episodeIndex = idx.toString(),
name = it.text(), name = episodeText,
lang = "Dub", lang = "Dub",
href = it.attr("abs:href"), href = it.attr("abs:href"),
) )
@ -149,7 +156,7 @@ class AnimeOwl : ConfigurableAnimeSource, ParsedAnimeHttpSource() {
return listOf(sub, dub).flatten().groupBy { it.name }.map { (epNum, epList) -> return listOf(sub, dub).flatten().groupBy { it.name }.map { (epNum, epList) ->
SEpisode.create().apply { SEpisode.create().apply {
url = LinkData(epList.map { ep -> Link(ep.href!!, ep.lang!!) }).toJsonString() url = LinkData(epList.map { ep -> Link(ep.href!!, ep.lang!!) }).toJsonString()
episode_number = epNum.toFloatOrNull() ?: 0F episode_number = epNum.filter { it.isDigit() || it == '.' }.toFloatOrNull() ?: 0F
name = "Episode $epNum" name = "Episode $epNum"
} }
}.sortedByDescending { it.episode_number } }.sortedByDescending { it.episode_number }