-
Notifications
You must be signed in to change notification settings - Fork 258
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(src/ar): New Soruce: Cima Leek #3251
Conversation
src/ar/cimaleek/src/eu/kanade/tachiyomi/animeextension/ar/cimaleek/Cimaleek.kt
Outdated
Show resolved
Hide resolved
"index-v1-a1.m3u8" in trueVideoUrl || "list.m3u8" in trueVideoUrl || ".mp4" in trueVideoUrl -> { | ||
videoList.add(Video(trueVideoUrl, element.text(), trueVideoUrl, headers = referer)) | ||
} | ||
"master.m3u8" in trueVideoUrl -> { | ||
videoResponse.body.string().substringAfter("#EXT-X-STREAM-INF:").split("#EXT-X-STREAM-INF:").forEach { | ||
val quality = it.substringAfter("RESOLUTION=").substringBefore("\n").substringAfter("x").substringBefore(",") + "p" | ||
val playUrl = it.substringAfter("\n").substringBefore("\n") | ||
val url = if (playUrl.startsWith("index")) trueVideoUrl.replace("master", "index-v1-a1") else playUrl | ||
videoList.add(Video(url, "${element.text()}: $quality", url, headers = referer)) | ||
} | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe use the playlist-utils lib?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the idea is i don't want to repeat request as the interceptor already return response of the m3u8 url
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
That's true, the most ideal way is to modify the interceptor so you don't need to resend the request, but if you dont want to spend the time, that's fine
...leek/src/eu/kanade/tachiyomi/animeextension/ar/cimaleek/interceptor/GetSourcesInterceptor.kt
Outdated
Show resolved
Hide resolved
src/ar/cimaleek/src/eu/kanade/tachiyomi/animeextension/ar/cimaleek/Cimaleek.kt
Outdated
Show resolved
Hide resolved
@Secozzi please review |
src/ar/cimaleek/src/eu/kanade/tachiyomi/animeextension/ar/cimaleek/Cimaleek.kt
Outdated
Show resolved
Hide resolved
@Secozzi some extension name hikari in all is causing the PR Build to fail |
No, the build is failing because of a lint error in cimaleek, namely that the first line in extractVideos is an empty line |
should be fixed now |
src/ar/cimaleek/src/eu/kanade/tachiyomi/animeextension/ar/cimaleek/Cimaleek.kt
Outdated
Show resolved
Hide resolved
src/ar/cimaleek/src/eu/kanade/tachiyomi/animeextension/ar/cimaleek/Cimaleek.kt
Outdated
Show resolved
Hide resolved
src/ar/cimaleek/src/eu/kanade/tachiyomi/animeextension/ar/cimaleek/Cimaleek.kt
Outdated
Show resolved
Hide resolved
} | ||
|
||
@SuppressLint("SetJavaScriptEnabled") | ||
private fun resolveWithWebView(request: Request): Request? { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wouldn't it be better to return the string of the url instead of a request? It wouldn't need to be an interceptor and then you'd be able to use playlist-utils instead, simplifying some of the process
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hmm let me try
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but can i override intercept function to return string instead of response ?? @Secozzi
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It shouldn't be an interceptor, just call it an extractor or something instead
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what exactly ? i mean in Interceptor Class the intercept function returns Response i can't override that to return a String instead
i use interceptor cuz i can't make an extractor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You shouldn't inherit from interceptor in the first place
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
O.o i totally don't get it, i mean then how am i supposed to intercept the requests ??
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You load the URL in webview like you did before
} | ||
|
||
companion object { | ||
private val VIDEO_REGEX by lazy { Regex("\\.(mp4|m3u8)") } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Make this a variable inside the WebViewResolver
class instead
Checklist:
extVersionCode
value inbuild.gradle
for individual extensionsoverrideVersionCode
orbaseVersionCode
as needed for all multisrc extensionsisNsfw = true
flag inbuild.gradle
when appropriateid
if a source's name or language were changedweb_hi_res_512.png
when adding a new extension