Skip to content
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

Merged
merged 14 commits into from
May 26, 2024
Merged

feat(src/ar): New Soruce: Cima Leek #3251

merged 14 commits into from
May 26, 2024

Conversation

adly98
Copy link
Contributor

@adly98 adly98 commented May 20, 2024

Checklist:

  • Updated extVersionCode value in build.gradle for individual extensions
  • Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
  • Referenced all related issues in the PR body (e.g. "Closes #xyz")
  • Added the isNsfw = true flag in build.gradle when appropriate
  • Have not changed source names
  • Have explicitly kept the id if a source's name or language were changed
  • Have tested the modifications by compiling and running the extension through Android Studio
  • Have removed web_hi_res_512.png when adding a new extension

Comment on lines 147 to 157
"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))
}
}
Copy link
Contributor

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?

Copy link
Contributor Author

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

Copy link
Contributor

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

@adly98
Copy link
Contributor Author

adly98 commented May 20, 2024

@Secozzi please review

@adly98
Copy link
Contributor Author

adly98 commented May 21, 2024

@Secozzi some extension name hikari in all is causing the PR Build to fail

@Secozzi
Copy link
Contributor

Secozzi commented May 21, 2024

No, the build is failing because of a lint error in cimaleek, namely that the first line in extractVideos is an empty line

@adly98
Copy link
Contributor Author

adly98 commented May 21, 2024

should be fixed now

}

@SuppressLint("SetJavaScriptEnabled")
private fun resolveWithWebView(request: Request): Request? {
Copy link
Contributor

@Secozzi Secozzi May 22, 2024

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

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm let me try

Copy link
Contributor Author

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

Copy link
Contributor

@Secozzi Secozzi May 22, 2024

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

Copy link
Contributor Author

@adly98 adly98 May 22, 2024

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

Copy link
Contributor

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

Copy link
Contributor Author

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 ??

Copy link
Contributor

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)") }
Copy link
Contributor

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

@jmir1 jmir1 merged commit 9f87d46 into aniyomiorg:master May 26, 2024
5 checks passed
@adly98 adly98 deleted the cimaleek branch May 27, 2024 01:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants