diff --git a/src/en/gogoanime/build.gradle b/src/en/gogoanime/build.gradle index 793562ca0..e45e8f0ff 100644 --- a/src/en/gogoanime/build.gradle +++ b/src/en/gogoanime/build.gradle @@ -5,7 +5,7 @@ ext { extName = 'Gogoanime' pkgNameSuffix = 'en.gogoanime' extClass = '.GogoAnime' - extVersionCode = 38 + extVersionCode = 39 libVersion = '12' } diff --git a/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt b/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt index 5e38e72a2..238d000da 100644 --- a/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt +++ b/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/GogoAnime.kt @@ -139,7 +139,7 @@ class GogoAnime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { private fun qualityToInt(quality: String): Int { return try { - quality.substringBefore("p").toInt() + quality.filter { it.isDigit() }.toInt() } catch (e: NumberFormatException) { -100 } diff --git a/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/extractors/GogoCdnExtractor.kt b/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/extractors/GogoCdnExtractor.kt index 685a6c7ca..de51d7843 100644 --- a/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/extractors/GogoCdnExtractor.kt +++ b/src/en/gogoanime/src/eu/kanade/tachiyomi/animeextension/en/gogoanime/extractors/GogoCdnExtractor.kt @@ -31,6 +31,7 @@ class GogoCdnExtractor(private val client: OkHttpClient, private val json: Json) val host = "https://" + httpUrl.host + "/" val id = httpUrl.queryParameter("id") ?: throw Exception("error getting id") val token = httpUrl.queryParameter("token") + val qualityPrefix = if (token != null) "Gogostream: " else "Vidstreaming: " val tokenString = if (token != null) { "&token=$token&op=2" } else "" val encryptedId = cryptoHandler(id, iv, secretKey) @@ -60,7 +61,7 @@ class GogoCdnExtractor(private val client: OkHttpClient, private val json: Json) if (!videoUrl.startsWith("http")) { videoUrl = fileURL.substringBeforeLast("/") + "/$videoUrl" } - videoList.add(Video(videoUrl, quality, videoUrl, null)) + videoList.add(Video(videoUrl, qualityPrefix + quality, videoUrl, null)) } } else array.forEach { val label = it.jsonObject["label"].toString().lowercase(Locale.ROOT) @@ -70,15 +71,17 @@ class GogoCdnExtractor(private val client: OkHttpClient, private val json: Json) if (label == "auto") autoList.add( Video( fileURL, - label, + qualityPrefix + label, fileURL, null, videoHeaders ) ) - else videoList.add(Video(fileURL, label, fileURL, null, videoHeaders)) + else videoList.add(Video(fileURL, qualityPrefix + label, fileURL, null, videoHeaders)) } - return videoList.sortedByDescending { it.quality.substringBefore("p").toInt() } + autoList + return videoList.sortedByDescending { + it.quality.substringAfter(qualityPrefix).substringBefore("p").toIntOrNull() ?: -1 + } + autoList } catch (e: Exception) { return emptyList() } diff --git a/src/id/kuramanime/src/eu/kanade/tachiyomi/animeextension/id/kuramanime/Kuramanime.kt b/src/id/kuramanime/src/eu/kanade/tachiyomi/animeextension/id/kuramanime/Kuramanime.kt index a3802afd5..c0c2d1998 100644 --- a/src/id/kuramanime/src/eu/kanade/tachiyomi/animeextension/id/kuramanime/Kuramanime.kt +++ b/src/id/kuramanime/src/eu/kanade/tachiyomi/animeextension/id/kuramanime/Kuramanime.kt @@ -21,7 +21,6 @@ import org.jsoup.nodes.Element import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import java.lang.Exception -import java.util.Locale class Kuramanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val name = "Kuramanime" @@ -76,22 +75,22 @@ class Kuramanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } override fun episodeListSelector(): String = "#episodeLists" - + override fun episodeListParse(response: Response): List { val document = response.asJsoup() - + val html = document.select(episodeListSelector()).attr("data-content") val jsoupE = Jsoup.parse(html) return jsoupE.select("a").filter { ele -> !ele.attr("href").contains("batch") }.map { episodeFromElement(it) } } - private fun parseShortInfo(element : Element): SAnime { + private fun parseShortInfo(element: Element): SAnime { val anime = SAnime.create() anime.setUrlWithoutDomain(element.select("a").first().attr("href")) anime.thumbnail_url = element.select("a > div").first().attr("data-setbg") anime.title = element.select("div.product__item__text > h5").text() - return anime + return anime } override fun latestUpdatesFromElement(element: Element): SAnime = parseShortInfo(element) @@ -171,4 +170,4 @@ class Kuramanime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { } screen.addPreference(videoQualityPref) } -} \ No newline at end of file +}