forked from AlmightyHak/extensions-source
Fix(en/Hikari): The sub or dub fix has been modified (#165)
This commit is contained in:
parent
5970b350a4
commit
5ddb5f061b
2 changed files with 33 additions and 2 deletions
|
@ -1,7 +1,7 @@
|
||||||
ext {
|
ext {
|
||||||
extName = 'Hikari'
|
extName = 'Hikari'
|
||||||
extClass = '.Hikari'
|
extClass = '.Hikari'
|
||||||
extVersionCode = 6
|
extVersionCode = 7
|
||||||
}
|
}
|
||||||
|
|
||||||
apply from: "$rootDir/common.gradle"
|
apply from: "$rootDir/common.gradle"
|
||||||
|
|
|
@ -296,8 +296,39 @@ class Hikari : ParsedAnimeHttpSource(), ConfigurableAnimeSource {
|
||||||
Pair(iframeSrc, name)
|
Pair(iframeSrc, name)
|
||||||
}.filter { it.first.isNotEmpty() }
|
}.filter { it.first.isNotEmpty() }
|
||||||
}
|
}
|
||||||
val embedUrls = subEmbedUrls + dubEmbedUrls
|
|
||||||
|
|
||||||
|
val sdEmbedUrls = html.select(".servers-sub.\\&.dub div.item.server-item").flatMap { item ->
|
||||||
|
val name = item.text().trim() + " (Sub + Dub)"
|
||||||
|
val onClick = item.selectFirst("a")?.attr("onclick")
|
||||||
|
if (onClick == null) {
|
||||||
|
Log.e("Hikari", "onClick attribute is null for item: $item")
|
||||||
|
return@flatMap emptyList<Pair<String, String>>()
|
||||||
|
}
|
||||||
|
|
||||||
|
val match = embedRegex.find(onClick)?.groupValues
|
||||||
|
if (match == null) {
|
||||||
|
Log.e("Hikari", "No match found for onClick: $onClick")
|
||||||
|
return@flatMap emptyList<Pair<String, String>>()
|
||||||
|
}
|
||||||
|
|
||||||
|
val url = "$baseUrl/ajax/embed/${match[1]}/${match[2]}/${match[3]}"
|
||||||
|
val iframeList = client.newCall(
|
||||||
|
GET(url, headers),
|
||||||
|
).execute().parseAs<List<String>>()
|
||||||
|
|
||||||
|
iframeList.map {
|
||||||
|
val iframeSrc = Jsoup.parseBodyFragment(it).selectFirst("iframe")?.attr("src")
|
||||||
|
if (iframeSrc == null) {
|
||||||
|
Log.e("Hikari", "iframe src is null for URL: $url")
|
||||||
|
return@map Pair("", "")
|
||||||
|
}
|
||||||
|
Pair(iframeSrc, name)
|
||||||
|
}.filter { it.first.isNotEmpty() }
|
||||||
|
}
|
||||||
|
|
||||||
|
val embedUrls = sdEmbedUrls.ifEmpty {
|
||||||
|
subEmbedUrls + dubEmbedUrls
|
||||||
|
}
|
||||||
return embedUrls.parallelCatchingFlatMapBlocking {
|
return embedUrls.parallelCatchingFlatMapBlocking {
|
||||||
getVideosFromEmbed(it.first, it.second)
|
getVideosFromEmbed(it.first, it.second)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue