Migrate to version catalog and added provider tests
This commit is contained in:
parent
7640787db9
commit
9a71bccfcf
48 changed files with 455 additions and 57 deletions
|
@ -1,8 +1,11 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 7
|
version = 7
|
||||||
|
|
||||||
dependencies{
|
dependencies {
|
||||||
implementation("com.google.code.gson:gson:2.9.0")
|
implementation(libs.gson)
|
||||||
|
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
}
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package com.lagradost
|
package com.lagradost
|
||||||
|
|
||||||
|
import android.util.Log
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import com.google.gson.reflect.TypeToken
|
import com.google.gson.reflect.TypeToken
|
||||||
import com.lagradost.cloudstream3.DubStatus
|
import com.lagradost.cloudstream3.DubStatus
|
||||||
|
@ -23,6 +24,7 @@ import com.lagradost.cloudstream3.newAnimeSearchResponse
|
||||||
import com.lagradost.cloudstream3.newHomePageResponse
|
import com.lagradost.cloudstream3.newHomePageResponse
|
||||||
import com.lagradost.cloudstream3.newMovieLoadResponse
|
import com.lagradost.cloudstream3.newMovieLoadResponse
|
||||||
import com.lagradost.cloudstream3.toRatingInt
|
import com.lagradost.cloudstream3.toRatingInt
|
||||||
|
import com.lagradost.cloudstream3.utils.AppUtils.toJson
|
||||||
import com.lagradost.cloudstream3.utils.ExtractorLink
|
import com.lagradost.cloudstream3.utils.ExtractorLink
|
||||||
import com.lagradost.cloudstream3.utils.M3u8Helper
|
import com.lagradost.cloudstream3.utils.M3u8Helper
|
||||||
import com.lagradost.models.AnimeInfoModel
|
import com.lagradost.models.AnimeInfoModel
|
||||||
|
@ -120,38 +122,36 @@ class AnimeONProvider : MainAPI() {
|
||||||
)).text,
|
)).text,
|
||||||
AnimeInfoModel::class.java
|
AnimeInfoModel::class.java
|
||||||
)
|
)
|
||||||
|
|
||||||
val showStatus =
|
val showStatus =
|
||||||
with(animeJSON.status.name) {
|
with(animeJSON.status!!) {
|
||||||
when {
|
when {
|
||||||
contains("Онґоїнґ") -> ShowStatus.Ongoing
|
contains("ongoing") -> ShowStatus.Ongoing
|
||||||
contains("Завершений") -> ShowStatus.Completed
|
contains("released") -> ShowStatus.Completed
|
||||||
else -> null
|
else -> ShowStatus.Completed
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
val tvType =
|
val tvType =
|
||||||
with(animeJSON.type.name) {
|
with(animeJSON.type!!) {
|
||||||
when {
|
when {
|
||||||
contains("ТБ-Серіал") -> TvType.Anime
|
contains("tv") -> TvType.Anime
|
||||||
contains("OVA") -> TvType.OVA
|
contains("OVA") -> TvType.OVA
|
||||||
contains("Спеціальний випуск") -> TvType.OVA
|
contains("Спеціальний випуск") -> TvType.OVA
|
||||||
contains("ONA") -> TvType.OVA
|
contains("ONA") -> TvType.OVA
|
||||||
contains("Фільм") -> TvType.AnimeMovie
|
contains("movie") -> TvType.AnimeMovie
|
||||||
else -> TvType.Anime
|
else -> TvType.Anime
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
val episodes = mutableListOf<Episode>()
|
val episodes = mutableListOf<Episode>()
|
||||||
|
|
||||||
// Get all fundub for title and parse only first fundub/player
|
// Get all fundub for title and parse only first fundub/player
|
||||||
val fundubs = Gson().fromJson<List<FundubModel>>(app.get("${apiUrl}/player/fundubs/${animeJSON.id}",
|
val fundubs = Gson().fromJson<List<FundubModel>>(app.get("$mainUrl/api/player/fundubs/${animeJSON.id}",
|
||||||
headers = mapOf(
|
headers = mapOf(
|
||||||
"Referer" to "https://animeon.club/",
|
"Referer" to "https://animeon.club/",
|
||||||
)).text, listFundub)
|
)).text, listFundub)
|
||||||
|
|
||||||
Gson().fromJson<List<FundubEpisode>>(app.get("${apiUrl}/player/episodes/${fundubs?.get(0)?.player?.get(0)?.id}/${fundubs?.get(0)?.fundub?.id}",
|
Gson().fromJson<List<FundubEpisode>>(app.get("$mainUrl/api/player/episodes/${fundubs?.get(0)?.player?.get(0)?.id}/${fundubs?.get(0)?.fundub?.id}",
|
||||||
headers = mapOf(
|
headers = mapOf(
|
||||||
"Referer" to "https://animeon.club/",
|
"Referer" to "https://animeon.club/",
|
||||||
)).text, listFundubEpisodes)?.map { epd -> // Episode
|
)).text, listFundubEpisodes)?.map { epd -> // Episode
|
||||||
|
@ -172,7 +172,7 @@ class AnimeONProvider : MainAPI() {
|
||||||
) {
|
) {
|
||||||
this.posterUrl = posterApi.format(animeJSON.poster)
|
this.posterUrl = posterApi.format(animeJSON.poster)
|
||||||
this.engName = animeJSON.titleEn
|
this.engName = animeJSON.titleEn
|
||||||
this.tags = animeJSON.genres.map { it.name }
|
// this.tags = animeJSON.genres.map { it.name }
|
||||||
this.plot = animeJSON.description
|
this.plot = animeJSON.description
|
||||||
addTrailer(animeJSON.trailer)
|
addTrailer(animeJSON.trailer)
|
||||||
this.showStatus = showStatus
|
this.showStatus = showStatus
|
||||||
|
@ -212,20 +212,20 @@ class AnimeONProvider : MainAPI() {
|
||||||
callback: (ExtractorLink) -> Unit
|
callback: (ExtractorLink) -> Unit
|
||||||
): Boolean {
|
): Boolean {
|
||||||
val dataList = data.split(", ")
|
val dataList = data.split(", ")
|
||||||
val fundubs = Gson().fromJson<List<FundubModel>>(app.get("${apiUrl}/player/fundubs/${dataList[0]}",
|
val fundubs = Gson().fromJson<List<FundubModel>>(app.get("$mainUrl/api/player/fundubs/${dataList[0]}",
|
||||||
headers = mapOf(
|
headers = mapOf(
|
||||||
"Referer" to "https://animeon.club/",
|
"Referer" to "https://animeon.club/",
|
||||||
)).text, listFundub)
|
)).text, listFundub)
|
||||||
|
|
||||||
if(dataList.size == 2){
|
if(dataList.size == 2){
|
||||||
fundubs.map { dub ->
|
fundubs.map { dub ->
|
||||||
Gson().fromJson<List<FundubEpisode>>(app.get("${apiUrl}/player/episodes/${dub.player[0].id}/${dub.fundub.id}",
|
Gson().fromJson<List<FundubEpisode>>(app.get("$mainUrl/api/player/episodes/${dub.player[0].id}/${dub.fundub.id}",
|
||||||
headers = mapOf(
|
headers = mapOf(
|
||||||
"Referer" to "https://animeon.club/",
|
"Referer" to "https://animeon.club/",
|
||||||
)).text, listFundubEpisodes).filter{ it.episode == dataList[1].toIntOrNull() }.map { epd -> // Episode
|
)).text, listFundubEpisodes).filter{ it.episode == dataList[1].toIntOrNull() }.map { epd -> // Episode
|
||||||
M3u8Helper.generateM3u8(
|
M3u8Helper.generateM3u8(
|
||||||
source = "${dub.fundub.name} (${dub.player[0].name})",
|
source = "${dub.fundub.name} (${dub.player[0].name})",
|
||||||
streamUrl = getM3U(app.get("${apiUrl}/player/episode/${epd.id}",
|
streamUrl = getM3U(app.get("$mainUrl/api/player/episode/${epd.id}",
|
||||||
headers = mapOf(
|
headers = mapOf(
|
||||||
"Referer" to "https://animeon.club/",
|
"Referer" to "https://animeon.club/",
|
||||||
)).parsedSafe<FundubVideoUrl>()!!.videoUrl),
|
)).parsedSafe<FundubVideoUrl>()!!.videoUrl),
|
||||||
|
|
|
@ -16,8 +16,8 @@ class AnimeInfoModel (
|
||||||
@SerializedName("malId") val malId : Int,
|
@SerializedName("malId") val malId : Int,
|
||||||
@SerializedName("rating") val rating : Double,
|
@SerializedName("rating") val rating : Double,
|
||||||
@SerializedName("genres") val genres : List<Genres>,
|
@SerializedName("genres") val genres : List<Genres>,
|
||||||
@SerializedName("status") val status : Status,
|
@SerializedName("status") val status : String?,
|
||||||
@SerializedName("type") val type : Type,
|
@SerializedName("type") val type : String?,
|
||||||
@SerializedName("player") val player : List<Player>,
|
@SerializedName("player") val player : List<Player>,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@ data class Results (
|
||||||
@SerializedName("image") val image : Image,
|
@SerializedName("image") val image : Image,
|
||||||
@SerializedName("malId") val malId : Int,
|
@SerializedName("malId") val malId : Int,
|
||||||
@SerializedName("rating") val rating : Double,
|
@SerializedName("rating") val rating : Double,
|
||||||
@SerializedName("status") val status : Status,
|
@SerializedName("status") val status : String?,
|
||||||
@SerializedName("type") val type : Type,
|
@SerializedName("type") val type : String?,
|
||||||
@SerializedName("genres") val genres : List<Genres>
|
@SerializedName("genres") val genres : List<Genres>
|
||||||
)
|
)
|
|
@ -28,6 +28,6 @@ data class Result (
|
||||||
@SerializedName("malId") val malId : Int,
|
@SerializedName("malId") val malId : Int,
|
||||||
@SerializedName("season") val season : Int,
|
@SerializedName("season") val season : Int,
|
||||||
@SerializedName("rating") val rating : Double,
|
@SerializedName("rating") val rating : Double,
|
||||||
@SerializedName("type") val type : Type,
|
@SerializedName("type") val type : String?,
|
||||||
@SerializedName("status") val status : Status
|
@SerializedName("status") val status : String?
|
||||||
)
|
)
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class AnimeONProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(AnimeONProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,10 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 6
|
version = 6
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
language = "uk"
|
language = "uk"
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class AnimeUAProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(AnimeUAProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,10 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 10
|
version = 10
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
language = "uk"
|
language = "uk"
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class AnitubeinuaProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(AnitubeinuaProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,7 +2,10 @@
|
||||||
version = 5
|
version = 5
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("com.google.code.gson:gson:2.9.0")
|
implementation(libs.gson)
|
||||||
|
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
}
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class BambooUAProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(BambooUAProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,10 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 1
|
version = 1
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
language = "uk"
|
language = "uk"
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class CikavaIdeyaProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(CikavaIdeyaProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,10 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 8
|
version = 8
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
language = "uk"
|
language = "uk"
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class EneyidaProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(EneyidaProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,9 +1,10 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 3
|
version = 3
|
||||||
|
|
||||||
// TODO: Need drop this
|
dependencies {
|
||||||
dependencies{
|
implementation(libs.gson)
|
||||||
implementation("com.google.code.gson:gson:2.9.0")
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
}
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class HentaiUkrProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(HentaiUkrProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,10 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 5
|
version = 5
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
language = "uk"
|
language = "uk"
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class KinoTronProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(KinoTronProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,10 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 5
|
version = 5
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
language = "uk"
|
language = "uk"
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class KinoVezhaProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(KinoVezhaProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,10 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 6
|
version = 6
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
language = "uk"
|
language = "uk"
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class KlonTVProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(KlonTVProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,10 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 5
|
version = 5
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
language = "uk"
|
language = "uk"
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class SerialnoProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(SerialnoProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,8 +1,11 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 3
|
version = 3
|
||||||
|
|
||||||
dependencies{
|
dependencies {
|
||||||
implementation("com.google.code.gson:gson:2.9.0")
|
implementation(libs.gson)
|
||||||
|
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
}
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class TeleportalProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(TeleportalProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,7 +2,10 @@
|
||||||
version = 5
|
version = 5
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("com.google.code.gson:gson:2.10.1")
|
implementation(libs.gson)
|
||||||
|
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
}
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class UAFlixProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(UAFlixProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,7 +2,10 @@
|
||||||
version = 10
|
version = 10
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("com.google.code.gson:gson:2.9.0")
|
implementation(libs.gson)
|
||||||
|
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
}
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class UASerialProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(UASerialProvider("https://uaserial.com", "UASerial"))
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,7 +2,10 @@
|
||||||
version = 8
|
version = 8
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("com.google.code.gson:gson:2.9.0")
|
implementation(libs.gson)
|
||||||
|
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
}
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class UASerialsProProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(UASerialsProProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,10 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 1
|
version = 1
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
language = "uk"
|
language = "uk"
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class UAserialsVipProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(UAserialsVipProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,10 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 4
|
version = 4
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
language = "uk"
|
language = "uk"
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class UFDubProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(UFDubProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,6 +1,10 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 11
|
version = 11
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
language = "uk"
|
language = "uk"
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class UakinoProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(UakinoProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,8 +1,11 @@
|
||||||
// use an integer for version numbers
|
// use an integer for version numbers
|
||||||
version = 10
|
version = 10
|
||||||
|
|
||||||
dependencies{
|
dependencies {
|
||||||
implementation("com.google.code.gson:gson:2.9.0")
|
implementation(libs.gson)
|
||||||
|
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
}
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class UnimayProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(UnimayProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,7 +2,10 @@
|
||||||
version = 2
|
version = 2
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
implementation("com.google.code.gson:gson:2.9.0")
|
implementation(libs.gson)
|
||||||
|
|
||||||
|
testImplementation(libs.junit)
|
||||||
|
testImplementation(libs.kotlinx.coroutines.test)
|
||||||
}
|
}
|
||||||
|
|
||||||
cloudstream {
|
cloudstream {
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
package com.lagradost
|
||||||
|
|
||||||
|
import com.lagradost.cloudstreamtest.ProviderTester
|
||||||
|
import kotlinx.coroutines.test.runTest
|
||||||
|
import org.junit.Test
|
||||||
|
|
||||||
|
class VodneriloProviderTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun testProvider() = runTest {
|
||||||
|
val providerTester = ProviderTester(VodneriloProvider())
|
||||||
|
providerTester.testAll()
|
||||||
|
}
|
||||||
|
}
|
|
@ -2,26 +2,15 @@ import com.lagradost.cloudstream3.gradle.CloudstreamExtension
|
||||||
import com.android.build.gradle.BaseExtension
|
import com.android.build.gradle.BaseExtension
|
||||||
|
|
||||||
buildscript {
|
buildscript {
|
||||||
repositories {
|
|
||||||
google()
|
|
||||||
mavenCentral()
|
|
||||||
// Shitpack repo which contains our tools and dependencies
|
|
||||||
maven("https://jitpack.io")
|
|
||||||
}
|
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
classpath("com.android.tools.build:gradle:8.7.3")
|
classpath(libs.recloudstream.gradle)
|
||||||
classpath("com.github.recloudstream:gradle:-SNAPSHOT")
|
|
||||||
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:2.1.0")
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
allprojects {
|
plugins {
|
||||||
repositories {
|
alias(libs.plugins.android.application) apply false
|
||||||
google()
|
alias(libs.plugins.android.library) apply false
|
||||||
mavenCentral()
|
alias(libs.plugins.kotlin) apply false
|
||||||
maven("https://jitpack.io")
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
fun Project.cloudstream(configuration: CloudstreamExtension.() -> Unit) = extensions.getByName<CloudstreamExtension>("cloudstream").configuration()
|
fun Project.cloudstream(configuration: CloudstreamExtension.() -> Unit) = extensions.getByName<CloudstreamExtension>("cloudstream").configuration()
|
||||||
|
@ -68,19 +57,34 @@ subprojects {
|
||||||
}
|
}
|
||||||
|
|
||||||
dependencies {
|
dependencies {
|
||||||
val cloudstream by configurations
|
val apk by configurations
|
||||||
val implementation by configurations
|
val implementation by configurations
|
||||||
cloudstream("com.lagradost:cloudstream3:pre-release")
|
val libs = rootProject.libs
|
||||||
|
val apkTasks = listOf("deployWithAdb", "build")
|
||||||
|
val useApk = gradle.startParameter.taskNames.any { taskName ->
|
||||||
|
apkTasks.any { apkTask ->
|
||||||
|
taskName.contains(apkTask, ignoreCase = true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// If the task is specifically to compile the app then use the stubs, otherwise us the library.
|
||||||
|
if (useApk) {
|
||||||
|
// Stubs for all Cloudstream classes
|
||||||
|
apk(libs.cloudstream3)
|
||||||
|
} else {
|
||||||
|
// For running locally
|
||||||
|
implementation(libs.cloudstreamapi)
|
||||||
|
}
|
||||||
|
|
||||||
// these dependencies can include any of those which are added by the app,
|
// these dependencies can include any of those which are added by the app,
|
||||||
// but you dont need to include any of them if you dont need them
|
// but you dont need to include any of them if you dont need them
|
||||||
// https://github.com/recloudstream/cloudstream/blob/master/app/build.gradle
|
// https://github.com/recloudstream/cloudstream/blob/master/app/build.gradle
|
||||||
implementation(kotlin("stdlib")) // adds standard kotlin features, like listOf, mapOf etc
|
implementation(kotlin("stdlib")) // adds standard kotlin features, like listOf, mapOf etc
|
||||||
implementation("com.github.Blatzar:NiceHttp:0.4.11") // http library
|
implementation(libs.nicehttp) // http library
|
||||||
implementation("org.jsoup:jsoup:1.18.3") // html parser
|
implementation(libs.jsoup) // html parser
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
task<Delete>("clean") {
|
tasks.register<Delete>("clean") {
|
||||||
delete(rootProject.buildDir)
|
delete(rootProject.buildDir)
|
||||||
}
|
}
|
||||||
|
|
28
gradle/libs.versions.toml
Normal file
28
gradle/libs.versions.toml
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
[versions]
|
||||||
|
android-gradle-plugin = "8.8.0"
|
||||||
|
cloudstream3 = "pre-release"
|
||||||
|
cloudstreamapi = "0.1.6"
|
||||||
|
recloudstream-gradle = "-SNAPSHOT"
|
||||||
|
gson = "2.9.0"
|
||||||
|
kotlinx-coroutines-test = "1.10.1"
|
||||||
|
nicehttp = "0.4.11"
|
||||||
|
jsoup = "1.18.3"
|
||||||
|
kotlin = "2.1.10"
|
||||||
|
junit = "4.13.2"
|
||||||
|
junitVersion = "1.2.1"
|
||||||
|
|
||||||
|
[libraries]
|
||||||
|
cloudstream3 = { module = "com.lagradost:cloudstream3", version.ref = "cloudstream3" }
|
||||||
|
cloudstreamapi = { module = "com.github.Blatzar:CloudstreamApi", version.ref = "cloudstreamapi" }
|
||||||
|
recloudstream-gradle = { module = "com.github.recloudstream:gradle", version.ref = "recloudstream-gradle" }
|
||||||
|
gson = { module = "com.google.code.gson:gson", version.ref = "gson" }
|
||||||
|
jsoup = { module = "org.jsoup:jsoup", version.ref = "jsoup" }
|
||||||
|
kotlinx-coroutines-test = { module = "org.jetbrains.kotlinx:kotlinx-coroutines-test", version.ref = "kotlinx-coroutines-test" }
|
||||||
|
nicehttp = { module = "com.github.Blatzar:NiceHttp", version.ref = "nicehttp" }
|
||||||
|
junit = { group = "junit", name = "junit", version.ref = "junit" }
|
||||||
|
androidx-junit = { group = "androidx.test.ext", name = "junit", version.ref = "junitVersion" }
|
||||||
|
|
||||||
|
[plugins]
|
||||||
|
android-application = { id = "com.android.application", version.ref = "android-gradle-plugin" }
|
||||||
|
android-library = { id = "com.android.library", version.ref = "android-gradle-plugin" }
|
||||||
|
kotlin = { id = "org.jetbrains.kotlin.android", version.ref = "kotlin" }
|
2
gradle/wrapper/gradle-wrapper.properties
vendored
2
gradle/wrapper/gradle-wrapper.properties
vendored
|
@ -1,6 +1,6 @@
|
||||||
#Mon Jan 13 19:56:56 EET 2025
|
#Mon Jan 13 19:56:56 EET 2025
|
||||||
distributionBase=GRADLE_USER_HOME
|
distributionBase=GRADLE_USER_HOME
|
||||||
distributionPath=wrapper/dists
|
distributionPath=wrapper/dists
|
||||||
distributionUrl=https\://services.gradle.org/distributions/gradle-8.9-bin.zip
|
distributionUrl=https\://services.gradle.org/distributions/gradle-8.12.1-bin.zip
|
||||||
zipStoreBase=GRADLE_USER_HOME
|
zipStoreBase=GRADLE_USER_HOME
|
||||||
zipStorePath=wrapper/dists
|
zipStorePath=wrapper/dists
|
||||||
|
|
|
@ -1,3 +1,20 @@
|
||||||
|
pluginManagement {
|
||||||
|
repositories {
|
||||||
|
gradlePluginPortal()
|
||||||
|
google()
|
||||||
|
mavenCentral()
|
||||||
|
maven("https://jitpack.io")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
dependencyResolutionManagement {
|
||||||
|
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
|
||||||
|
repositories {
|
||||||
|
google()
|
||||||
|
mavenCentral()
|
||||||
|
maven("https://jitpack.io")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
rootProject.name = "CloudstreamPlugins"
|
rootProject.name = "CloudstreamPlugins"
|
||||||
|
|
||||||
// This file sets what projects are included. All new projects should get automatically included unless specified in "disabled" variable.
|
// This file sets what projects are included. All new projects should get automatically included unless specified in "disabled" variable.
|
||||||
|
|
Loading…
Reference in a new issue