From d5817231bfab73e94517bc42c9aa03375ea1d200 Mon Sep 17 00:00:00 2001 From: thatDudo <58403773+thatDudo@users.noreply.github.com> Date: Thu, 29 Sep 2022 17:14:55 +0000 Subject: [PATCH] Hentaimama episode parsing fix (#893) Co-authored-by: thatDudo --- src/en/hentaimama/build.gradle | 2 +- .../animeextension/en/hentaimama/HentaiMama.kt | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/en/hentaimama/build.gradle b/src/en/hentaimama/build.gradle index 5027b5554..0e3cd1e9e 100644 --- a/src/en/hentaimama/build.gradle +++ b/src/en/hentaimama/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'HentaiMama' pkgNameSuffix = 'en.hentaimama' extClass = '.HentaiMama' - extVersionCode = 4 + extVersionCode = 5 libVersion = '13' containsNsfw = true } diff --git a/src/en/hentaimama/src/eu/kanade/tachiyomi/animeextension/en/hentaimama/HentaiMama.kt b/src/en/hentaimama/src/eu/kanade/tachiyomi/animeextension/en/hentaimama/HentaiMama.kt index a10327215..5ab659792 100644 --- a/src/en/hentaimama/src/eu/kanade/tachiyomi/animeextension/en/hentaimama/HentaiMama.kt +++ b/src/en/hentaimama/src/eu/kanade/tachiyomi/animeextension/en/hentaimama/HentaiMama.kt @@ -24,6 +24,7 @@ import org.jsoup.nodes.Element import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.text.SimpleDateFormat +import java.util.Locale class HentaiMama : ConfigurableAnimeSource, ParsedAnimeHttpSource() { @@ -73,15 +74,14 @@ class HentaiMama : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override fun episodeFromElement(element: Element): SEpisode { val episode = SEpisode.create() - val epNum = element.select("div.season_m a span.c").text().removePrefix("Episode ") - val date = SimpleDateFormat("MMM. dd, yyyy").parse(element.select("div.data > span").text()) + val date = SimpleDateFormat("MMM. dd, yyyy", Locale.US).parse(element.select("div.data > span").text()) + val epNumPattern = Regex("Episode (\\d+\\.?\\d*)") + val epNumMatch = epNumPattern.find(element.select("div.season_m a span.c").text()) + episode.setUrlWithoutDomain(element.select("div.season_m a").attr("href")) episode.name = element.select("div.data h3").text() - episode.date_upload = date.time - episode.episode_number = when { - (epNum.isNotEmpty()) -> epNum.toFloat() - else -> 1F - } + episode.date_upload = runCatching { date?.time }.getOrNull() ?: 0L + episode.episode_number = runCatching { epNumMatch?.groups?.get(1)!!.value.toFloat() }.getOrNull() ?: 1F return episode }