From 92c2f6f1fc1ca22524028e479c7dc75858805a88 Mon Sep 17 00:00:00 2001 From: Arjix <53124886+ArjixWasTaken@users.noreply.github.com> Date: Fri, 20 Aug 2021 21:45:21 +0300 Subject: [PATCH] fixed episode parsing for the 2nd time (agh) --- .../movieproviders/TrailersToProvider.kt | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/TrailersToProvider.kt b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/TrailersToProvider.kt index 6adc4def..81d5147f 100644 --- a/app/src/main/java/com/lagradost/cloudstream3/movieproviders/TrailersToProvider.kt +++ b/app/src/main/java/com/lagradost/cloudstream3/movieproviders/TrailersToProvider.kt @@ -223,16 +223,19 @@ class TrailersToProvider : MainAPI() { val isTvShow = url.contains("/tvshow/") if (isTvShow) { val episodes = document.select("#seasons-accordion .card-body > .tour-modern") ?: return null - val parsedEpisodes = episodes.map { item -> + val parsedEpisodes = episodes.withIndex().map { (index, item) -> val epPoster = item.selectFirst("img").attr("src") val main = item.selectFirst(".tour-modern-main") val titleHeader = main.selectFirst("a") val titleName = titleHeader.text() val href = fixUrl(titleHeader.attr("href")) - val gValues = """.*?Season ([0-9]+)\s-\s(?:Episode )?([0-9]+)(?:: )?(.*)""".toRegex().find(titleName)?.groupValues - val season = gValues?.get(1)?.toIntOrNull() - val episode = gValues?.get(2)?.toIntOrNull() - val epName = if (!gValues?.get(3).isNullOrEmpty()) gValues?.get(3) else "Episode ${gValues?.get(2)}" + val gValues = Regex(""".*?Season ([0-9]+)\s-\s(?:Episode )?([0-9]+)?(?:: )?(.*)""").find(titleName)!!.destructured + val season = gValues.component1().toIntOrNull() + var episode = gValues.component2().toIntOrNull() + if (episode == null) { + episode = index + 1 + } + val epName = if (!gValues.component3().isEmpty()) gValues.component3() else "Episode ${gValues.component2()}" val infoHeaders = main.select("span.small-text") val date = infoHeaders?.get(0)?.text() val ratingText = infoHeaders?.get(1)?.text()?.replace("/ 10", "")