fix(en/oppaistream): Fix url problem with some animes (#3131)

This commit is contained in:
Nitin Dahale
2024-04-06 00:57:06 +05:30
committed by GitHub
parent 8df2435588
commit 060f3c0ed3
2 changed files with 16 additions and 4 deletions

View File

@ -1,7 +1,7 @@
ext { ext {
extName = 'Oppai Stream' extName = 'Oppai Stream'
extClass = '.OppaiStream' extClass = '.OppaiStream'
extVersionCode = 3 extVersionCode = 4
isNsfw = true isNsfw = true
} }

View File

@ -124,7 +124,11 @@ class OppaiStream : ParsedAnimeHttpSource(), ConfigurableAnimeSource {
override fun searchAnimeFromElement(element: Element) = SAnime.create().apply { override fun searchAnimeFromElement(element: Element) = SAnime.create().apply {
thumbnail_url = element.selectFirst("img.cover-img-in")?.attr("abs:src") thumbnail_url = element.selectFirst("img.cover-img-in")?.attr("abs:src")
title = element.selectFirst(".title-ep")!!.text().replace(TITLE_CLEANUP_REGEX, "") title = element.selectFirst(".title-ep")!!.text().replace(TITLE_CLEANUP_REGEX, "")
setUrlWithoutDomain(element.attr("href")) setUrlWithoutDomain(
element.attr("href").replace(Regex("(?<=\\?e=)(.*?)(?=&f=)")) {
java.net.URLEncoder.encode(it.groupValues[1], "UTF-8")
},
)
} }
// =========================== Anime Details ============================ // =========================== Anime Details ============================
@ -162,7 +166,11 @@ class OppaiStream : ParsedAnimeHttpSource(), ConfigurableAnimeSource {
add( add(
SEpisode.create().apply { SEpisode.create().apply {
setUrlWithoutDomain(doc.location()) 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 ") val num = doc.selectFirst("div.episode-info > h1")!!.text().substringAfter(" Ep ")
name = "Episode $num" name = "Episode $num"
episode_number = num.toFloatOrNull() ?: 1F episode_number = num.toFloatOrNull() ?: 1F
@ -175,7 +183,11 @@ class OppaiStream : ParsedAnimeHttpSource(), ConfigurableAnimeSource {
override fun episodeListSelector() = "div.more-same-eps > div > div > a" override fun episodeListSelector() = "div.more-same-eps > div > div > a"
override fun episodeFromElement(element: Element) = SEpisode.create().apply { override fun episodeFromElement(element: Element) = SEpisode.create().apply {
setUrlWithoutDomain(element.attr("href")) setUrlWithoutDomain(
element.attr("href").replace(Regex("(?<=\\?e=)(.*?)(?=&f=)")) {
java.net.URLEncoder.encode(it.groupValues[1], "UTF-8")
},
)
val num = element.selectFirst("font.ep")?.text() ?: "1" val num = element.selectFirst("font.ep")?.text() ?: "1"
name = "Episode $num" name = "Episode $num"
episode_number = num.toFloatOrNull() ?: 1F episode_number = num.toFloatOrNull() ?: 1F