anitubeinua: parse episode by number for non ajax

This commit is contained in:
CakesTwix 2023-04-05 15:34:30 +03:00
parent 79539ef4a7
commit 8bcfdf408d
Signed by: CakesTwix
GPG key ID: 7B11051D5CE19825
2 changed files with 22 additions and 8 deletions

View file

@ -1,6 +1,5 @@
package com.lagradost package com.lagradost
import android.util.Log
import com.lagradost.models.PlayerJson import com.lagradost.models.PlayerJson
import com.lagradost.extractors.AshdiExtractor import com.lagradost.extractors.AshdiExtractor
import com.lagradost.cloudstream3.* import com.lagradost.cloudstream3.*
@ -137,15 +136,18 @@ class AnitubeinuaProvider : MainAPI() {
if (script.data().contains("RalodePlayer.init(")) { if (script.data().contains("RalodePlayer.init(")) {
val episodesList = fromVideoContructor(script) val episodesList = fromVideoContructor(script)
episodesList.forEachIndexed { index, episode -> episodesList.forEach { episode ->
// UFDub player, drop // UFDub player, drop
if(episode.episodeName == "ПЛЕЙЛИСТ") return@forEachIndexed var varEpisodeNumber = episode.episodeNumber
if(episode.episodeName == "ПЛЕЙЛИСТ") return@forEach
if(varEpisodeNumber == null){
varEpisodeNumber = episodesList.last().episodeNumber?.plus(1);
}
dubEpisodes.add( dubEpisodes.add(
Episode( Episode(
"${episode.episodeName}, $url", "$varEpisodeNumber, $url",
episode.episodeName, episode.episodeName,
episode = episode.episodeNumber, episode = varEpisodeNumber,
) )
) )
@ -251,7 +253,19 @@ class AnitubeinuaProvider : MainAPI() {
val document = app.get(dataList[1]).document val document = app.get(dataList[1]).document
document.select("script").map { script -> document.select("script").map { script ->
if (script.data().contains("RalodePlayer.init(")) { if (script.data().contains("RalodePlayer.init(")) {
fromVideoContructor(script).filter { it.episodeName == dataList[0] } .forEach { dub -> var latestNumber: Int? = 0
fromVideoContructor(script).forEach { dub ->
if(dub.episodeName == "ПЛЕЙЛИСТ") return@forEach
// Parse by number episode
// If null, just add +1
if(dub.episodeNumber == null){
dub.episodeNumber = latestNumber?.plus(1);
}
latestNumber = dub.episodeNumber
if(latestNumber != dataList[0].toIntOrNull()) return@forEach
with(dub.episodeUrl) { with(dub.episodeUrl) {
when { when {
contains("https://tortuga.wtf/vod/") -> { contains("https://tortuga.wtf/vod/") -> {

View file

@ -3,6 +3,6 @@ package com.lagradost.models
data class videoConstructor ( data class videoConstructor (
val playerName: String, val playerName: String,
val episodeName: String, val episodeName: String,
val episodeNumber: Int?, var episodeNumber: Int?,
val episodeUrl: String val episodeUrl: String
) )