From 8de3e46d7711e418317656419f56fa5bf123c0e4 Mon Sep 17 00:00:00 2001 From: jmir1 Date: Fri, 18 Jun 2021 22:33:51 +0200 Subject: [PATCH] 4anime: fix some episode number issues --- src/en/fouranime/build.gradle | 2 +- .../tachiyomi/animeextension/en/fouranime/FourAnime.kt | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/en/fouranime/build.gradle b/src/en/fouranime/build.gradle index 46cd5627b..5497aa824 100644 --- a/src/en/fouranime/build.gradle +++ b/src/en/fouranime/build.gradle @@ -5,7 +5,7 @@ ext { extName = '4anime.to' pkgNameSuffix = 'en.fouranime' extClass = '.FourAnime' - extVersionCode = 10 + extVersionCode = 11 libVersion = '11' } dependencies { diff --git a/src/en/fouranime/src/eu/kanade/tachiyomi/animeextension/en/fouranime/FourAnime.kt b/src/en/fouranime/src/eu/kanade/tachiyomi/animeextension/en/fouranime/FourAnime.kt index a70724f5b..0a2d7e5bb 100644 --- a/src/en/fouranime/src/eu/kanade/tachiyomi/animeextension/en/fouranime/FourAnime.kt +++ b/src/en/fouranime/src/eu/kanade/tachiyomi/animeextension/en/fouranime/FourAnime.kt @@ -44,12 +44,20 @@ class FourAnime : ParsedAnimeHttpSource() { override fun episodeFromElement(element: Element): SEpisode { val episode = SEpisode.create() episode.setUrlWithoutDomain(element.attr("href")) - episode.episode_number = element.text().toFloat() + episode.episode_number = episodeNumberFromText(element.text()) episode.name = "Episode " + element.text() episode.date_upload = System.currentTimeMillis() return episode } + private fun episodeNumberFromText(text: String): Float { + return try { + text.toFloat() + } catch (e: NumberFormatException) { + val firstLetterAsNumber = (text.replace("[\\d]".toRegex(), "").first().toFloat() - 64F) / 100F + text.replace("[^\\d]".toRegex(), "").toFloat() + firstLetterAsNumber + } + } override fun episodeLinkSelector() = "source" override fun linksFromElement(element: Element): List {