diff --git a/src/en/oppaistream/build.gradle b/src/en/oppaistream/build.gradle index 066e08a4..aa7ad9e8 100644 --- a/src/en/oppaistream/build.gradle +++ b/src/en/oppaistream/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'Oppai Stream' extClass = '.OppaiStream' - extVersionCode = 4 + extVersionCode = 5 isNsfw = true } diff --git a/src/en/oppaistream/res/mipmap-hdpi/ic_launcher.png b/src/en/oppaistream/res/mipmap-hdpi/ic_launcher.png index 4a626ef6..447687d7 100644 Binary files a/src/en/oppaistream/res/mipmap-hdpi/ic_launcher.png and b/src/en/oppaistream/res/mipmap-hdpi/ic_launcher.png differ diff --git a/src/en/oppaistream/res/mipmap-mdpi/ic_launcher.png b/src/en/oppaistream/res/mipmap-mdpi/ic_launcher.png index 33a2663a..9c2d325a 100644 Binary files a/src/en/oppaistream/res/mipmap-mdpi/ic_launcher.png and b/src/en/oppaistream/res/mipmap-mdpi/ic_launcher.png differ diff --git a/src/en/oppaistream/res/mipmap-xhdpi/ic_launcher.png b/src/en/oppaistream/res/mipmap-xhdpi/ic_launcher.png index 78c7836c..b9de36c7 100644 Binary files a/src/en/oppaistream/res/mipmap-xhdpi/ic_launcher.png and b/src/en/oppaistream/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/src/en/oppaistream/res/mipmap-xxhdpi/ic_launcher.png b/src/en/oppaistream/res/mipmap-xxhdpi/ic_launcher.png index f96f1479..fc8c559f 100644 Binary files a/src/en/oppaistream/res/mipmap-xxhdpi/ic_launcher.png and b/src/en/oppaistream/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/src/en/oppaistream/res/mipmap-xxxhdpi/ic_launcher.png b/src/en/oppaistream/res/mipmap-xxxhdpi/ic_launcher.png index dae6df97..13711c3f 100644 Binary files a/src/en/oppaistream/res/mipmap-xxxhdpi/ic_launcher.png and b/src/en/oppaistream/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/src/en/oppaistream/res/web_hi_res_512.png b/src/en/oppaistream/res/web_hi_res_512.png deleted file mode 100644 index 9a13c4f4..00000000 Binary files a/src/en/oppaistream/res/web_hi_res_512.png and /dev/null differ diff --git a/src/en/oppaistream/src/eu/kanade/tachiyomi/animeextension/en/oppaistream/OppaiStream.kt b/src/en/oppaistream/src/eu/kanade/tachiyomi/animeextension/en/oppaistream/OppaiStream.kt index e78dda2e..46d95a2b 100644 --- a/src/en/oppaistream/src/eu/kanade/tachiyomi/animeextension/en/oppaistream/OppaiStream.kt +++ b/src/en/oppaistream/src/eu/kanade/tachiyomi/animeextension/en/oppaistream/OppaiStream.kt @@ -29,6 +29,7 @@ import org.jsoup.nodes.Element import uy.kohesive.injekt.Injekt import uy.kohesive.injekt.api.get import uy.kohesive.injekt.injectLazy +import java.net.URLEncoder.encode class OppaiStream : ParsedAnimeHttpSource(), ConfigurableAnimeSource { @@ -124,11 +125,7 @@ class OppaiStream : ParsedAnimeHttpSource(), ConfigurableAnimeSource { override fun searchAnimeFromElement(element: Element) = SAnime.create().apply { thumbnail_url = element.selectFirst("img.cover-img-in")?.attr("abs:src") title = element.selectFirst(".title-ep")!!.text().replace(TITLE_CLEANUP_REGEX, "") - setUrlWithoutDomain( - element.attr("href").replace(Regex("(?<=\\?e=)(.*?)(?=&f=)")) { - java.net.URLEncoder.encode(it.groupValues[1], "UTF-8") - }, - ) + setUrlWithoutDomain(element.attr("exur").fixLink()) } // =========================== Anime Details ============================ @@ -159,35 +156,13 @@ class OppaiStream : ParsedAnimeHttpSource(), ConfigurableAnimeSource { // ============================== Episodes ============================== override fun episodeListParse(response: Response): List { val doc = response.asJsoup() - return buildList { - doc.select(episodeListSelector()) - .map(::episodeFromElement) - .let(::addAll) - - add( - SEpisode.create().apply { - setUrlWithoutDomain( - doc.location().replace(Regex("(?<=\\?e=)(.*?)(?=&f=)")) { - java.net.URLEncoder.encode(it.groupValues[1], "UTF-8") - }, - ) - val num = doc.selectFirst("div.episode-info > h1")!!.text().substringAfter(" Ep ") - name = "Episode $num" - episode_number = num.toFloatOrNull() ?: 1F - scanlator = doc.selectFirst("div.episode-info a.red")?.text() - }, - ) - }.sortedByDescending { it.episode_number } + return doc.select("div.more-same-eps .in-main-gr > a").map(::episodeFromElement).reversed() } override fun episodeListSelector() = "div.more-same-eps > div > div > a" override fun episodeFromElement(element: Element) = SEpisode.create().apply { - setUrlWithoutDomain( - element.attr("href").replace(Regex("(?<=\\?e=)(.*?)(?=&f=)")) { - java.net.URLEncoder.encode(it.groupValues[1], "UTF-8") - }, - ) + setUrlWithoutDomain(element.attr("exur").fixLink()) val num = element.selectFirst("font.ep")?.text() ?: "1" name = "Episode $num" episode_number = num.toFloatOrNull() ?: 1F @@ -198,7 +173,7 @@ class OppaiStream : ParsedAnimeHttpSource(), ConfigurableAnimeSource { override fun videoListParse(response: Response): List