From 427063318708683877278178bfec5a542aeb976f Mon Sep 17 00:00:00 2001 From: Ahmed gamal <12355.ahmedgamal.com@gmail.com> Date: Mon, 4 Apr 2022 16:35:46 +0200 Subject: [PATCH] animeflv: fix empty episode list (#459) * Update build.gradle * animeflv: fix empty episode list --- src/es/animeflv/build.gradle | 2 +- .../animeextension/es/animeflv/AnimeFlv.kt | 40 +++++++++---------- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/src/es/animeflv/build.gradle b/src/es/animeflv/build.gradle index 40bc79da6b..375b32debc 100644 --- a/src/es/animeflv/build.gradle +++ b/src/es/animeflv/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'AnimeFLV' pkgNameSuffix = 'es.animeflv' extClass = '.AnimeFlv' - extVersionCode = 16 + extVersionCode = 17 libVersion = '12' } diff --git a/src/es/animeflv/src/eu/kanade/tachiyomi/animeextension/es/animeflv/AnimeFlv.kt b/src/es/animeflv/src/eu/kanade/tachiyomi/animeextension/es/animeflv/AnimeFlv.kt index 54749190d4..cc1c7aacc0 100644 --- a/src/es/animeflv/src/eu/kanade/tachiyomi/animeextension/es/animeflv/AnimeFlv.kt +++ b/src/es/animeflv/src/eu/kanade/tachiyomi/animeextension/es/animeflv/AnimeFlv.kt @@ -76,30 +76,28 @@ class AnimeFlv : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun popularAnimeNextPageSelector(): String = "ul.pagination li a[rel=next]:not(li.disabled)" override fun episodeListParse(response: Response): List { - val episodes = mutableListOf() - val jsoup = response.asJsoup() - jsoup.select("script").forEach { script -> - if (script.data().contains("var episodes = [")) { - val data = script.data().substringAfter("var episodes = [").substringBefore("];") - val animeId = response.request.url.pathSegments.last() - data.split("],").forEach { - val epNum = it.removePrefix("[").substringBefore(",") - val episode = SEpisode.create().apply { - episode_number = epNum.toFloat() - name = "Episodio $epNum" - url = "/ver/$animeId-$epNum" - date_upload = System.currentTimeMillis() - } - episodes.add(episode) - } - } - } - return episodes + return super.episodeListParse(response).reversed() } - override fun episodeListSelector() = throw Exception("not used") + override fun episodeListSelector() = "ul.ListCaps li a" - override fun episodeFromElement(element: Element) = throw Exception("not used") + override fun episodeFromElement(element: Element): SEpisode { + val episode = SEpisode.create() + val epNum = getNumberFromEpsString(element.select("p").text()) + episode.setUrlWithoutDomain(element.attr("abs:href")) + episode.episode_number = when { + (epNum.isNotEmpty()) -> epNum.toFloat() + else -> 1F + } + episode.name = element.select("p").text() + episode.date_upload = System.currentTimeMillis() + + return episode + } + + private fun getNumberFromEpsString(epsStr: String): String { + return epsStr.filter { it.isDigit() } + } override fun videoListParse(response: Response): List