[shabakatycinemana] add staff filter, and more Anime info #837

Merged
hasanpasha merged 14 commits from main into main 2025-03-24 13:30:02 -05:00
344 changed files with 946 additions and 3075 deletions
Showing only changes of commit 2073d6bdda - Show all commits

View file

@ -31,14 +31,15 @@ jobs:
ref: main
token: ${{ secrets.BOT_PAT }}
- name: Find lib changes
id: modified-libs
uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 #v42
with:
files: lib/
files_ignore: lib/**.md
files_separator: " "
safe_output: false
# Temporary pause because of leak of tj-actions/changed-files
# - name: Find lib changes
# id: modified-libs
# uses: tj-actions/changed-files@90a06d6ba9543371ab4df8eeca0be07ca6054959 #v42
# with:
# files: lib/
# files_ignore: lib/**.md
# files_separator: " "
# safe_output: false
- name: Import GPG key
uses: crazy-max/ghaction-import-gpg@v6 # v6.1.0
@ -48,12 +49,12 @@ jobs:
git_user_signingkey: true
git_commit_gpgsign: true
# This step is going to commit, but this will not trigger another workflow.
- name: Bump extensions that uses a modified lib
if: steps.modified-libs.outputs.any_changed == 'true'
run: |
chmod +x ./.github/scripts/bump-versions.py
./.github/scripts/bump-versions.py ${{ steps.modified-libs.outputs.all_changed_files }}
# # This step is going to commit, but this will not trigger another workflow.
# - name: Bump extensions that uses a modified lib
# if: steps.modified-libs.outputs.any_changed == 'true'
# run: |
# chmod +x ./.github/scripts/bump-versions.py
# ./.github/scripts/bump-versions.py ${{ steps.modified-libs.outputs.all_changed_files }}
- name: Validate Gradle Wrapper
uses: gradle/wrapper-validation-action@a494d935f4b56874c4a5a87d19af7afcf3a163d0 # v2

View file

@ -0,0 +1,7 @@
plugins {
id("lib-android")
}
dependencies {
implementation(project(":lib:playlist-utils"))
}

View file

@ -0,0 +1,41 @@
package eu.kanade.tachiyomi.lib.amazonextractor
import eu.kanade.tachiyomi.animesource.model.Video
import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils
import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.util.asJsoup
import okhttp3.OkHttpClient
class AmazonExtractor(private val client: OkHttpClient) {
private val playlistUtils by lazy { PlaylistUtils(client) }
fun videosFromUrl(url: String, prefix: String = ""): List<Video> {
if (url.contains("disable", true)) return emptyList()
val document = client.newCall(GET(url)).execute().asJsoup()
val shareIdScript = document.select("script:containsData(var shareId)").firstOrNull()?.data()
if (shareIdScript.isNullOrBlank()) return emptyList()
val shareId = shareIdScript.substringAfter("shareId = \"").substringBefore("\"")
val amazonApiJsonUrl = "https://www.amazon.com/drive/v1/shares/$shareId?resourceVersion=V2&ContentType=JSON&asset=ALL"
val amazonApiJson = client.newCall(GET(amazonApiJsonUrl)).execute().asJsoup()
val epId = amazonApiJson.toString().substringAfter("\"id\":\"").substringBefore("\"")
val amazonApiUrl = "https://www.amazon.com/drive/v1/nodes/$epId/children?resourceVersion=V2&ContentType=JSON&limit=200&sort=%5B%22kind+DESC%22%2C+%22modifiedDate+DESC%22%5D&asset=ALL&tempLink=true&shareId=$shareId"
val amazonApi = client.newCall(GET(amazonApiUrl)).execute().asJsoup()
val videoUrl = amazonApi.toString().substringAfter("\"FOLDER\":").substringAfter("tempLink\":\"").substringBefore("\"")
val serverName = if (videoUrl.contains("&ext=es")) "AmazonES" else "Amazon"
return if (videoUrl.contains(".m3u8")) {
playlistUtils.extractFromHls(videoUrl, videoNameGen = { "${prefix}$serverName:$it" })
} else {
listOf(Video(videoUrl, "${prefix}$serverName", videoUrl))
}
}
}

View file

@ -1,11 +1,11 @@
ext {
extName = 'AnimeWorld India'
extClass = '.AnimeWorldIndiaFactory'
extVersionCode = 14
extVersionCode = 15
}
apply from: "$rootDir/common.gradle"
dependencies {
implementation(project(":lib:playlist-utils"))
}
}

View file

@ -29,7 +29,7 @@ class AnimeWorldIndia(
override val name = "AnimeWorld India"
override val baseUrl = "https://anime-world.in"
override val baseUrl = "https://anime-world.co"
override val supportsLatest = true

View file

@ -47,6 +47,7 @@ class AnimeWorldIndiaFilters {
private fun getYearList() = listOf(
StringQuery("Any", "all"),
StringQuery("2025", "2025"),
StringQuery("2024", "2024"),
StringQuery("2023", "2023"),
StringQuery("2022", "2022"),

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more