fix(AnimesROLL): Solve serialization problems (#1530)

* fix: Solve serialization error at popular/latest animes page

* chore: Bump version
This commit is contained in:
Claudemirovsky
2023-04-22 07:53:35 -03:00
committed by GitHub
parent 54b0b365be
commit a2449cba39
3 changed files with 14 additions and 9 deletions

View File

@ -1,12 +1,14 @@
apply plugin: 'com.android.application' plugins {
apply plugin: 'kotlin-android' alias(libs.plugins.android.application)
apply plugin: 'kotlinx-serialization' alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.serialization)
}
ext { ext {
extName = 'AnimesROLL' extName = 'AnimesROLL'
pkgNameSuffix = 'pt.animesroll' pkgNameSuffix = 'pt.animesroll'
extClass = '.AnimesROLL' extClass = '.AnimesROLL'
extVersionCode = 2 extVersionCode = 3
libVersion = '13' libVersion = '13'
} }

View File

@ -1,10 +1,10 @@
package eu.kanade.tachiyomi.animeextension.pt.animesroll package eu.kanade.tachiyomi.animeextension.pt.animesroll
import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.AnimeDataDto import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.AnimeDataDto
import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.MovieInfoDto
import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.EpisodeDto import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.EpisodeDto
import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.EpisodeListDto import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.EpisodeListDto
import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.LatestAnimeDto import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.LatestAnimeDto
import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.MovieInfoDto
import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.PagePropDto import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.PagePropDto
import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.SearchResultsDto import eu.kanade.tachiyomi.animeextension.pt.animesroll.dto.SearchResultsDto
import eu.kanade.tachiyomi.animesource.model.AnimeFilterList import eu.kanade.tachiyomi.animesource.model.AnimeFilterList
@ -18,7 +18,6 @@ import eu.kanade.tachiyomi.network.asObservableSuccess
import eu.kanade.tachiyomi.util.asJsoup import eu.kanade.tachiyomi.util.asJsoup
import kotlinx.serialization.decodeFromString import kotlinx.serialization.decodeFromString
import kotlinx.serialization.json.Json import kotlinx.serialization.json.Json
import okhttp3.Headers
import okhttp3.Request import okhttp3.Request
import okhttp3.Response import okhttp3.Response
import org.jsoup.nodes.Document import org.jsoup.nodes.Document
@ -156,7 +155,7 @@ class AnimesROLL : AnimeHttpSource() {
// =============================== Latest =============================== // =============================== Latest ===============================
override fun latestUpdatesParse(response: Response): AnimesPage { override fun latestUpdatesParse(response: Response): AnimesPage {
val parsed = response.asJsoup().parseAs<LatestAnimeDto>() val parsed = response.asJsoup().parseAs<LatestAnimeDto>()
val animes = parsed.animes.map { it.toSAnime() } val animes = parsed.episodes.map { it.episode.anime!!.toSAnime() }
return AnimesPage(animes, false) return AnimesPage(animes, false)
} }

View File

@ -15,8 +15,11 @@ data class DataPropDto<T>(val data: T)
@Serializable @Serializable
data class LatestAnimeDto( data class LatestAnimeDto(
@SerialName("data_releases") @SerialName("data_releases")
val animes: List<AnimeDataDto>, val episodes: List<EpisodeAnimeDto>,
) ) {
@Serializable
data class EpisodeAnimeDto(val episode: EpisodeDto)
}
@Serializable @Serializable
data class MovieInfoDto( data class MovieInfoDto(
@ -58,6 +61,7 @@ data class EpisodeListDto(
data class EpisodeDto( data class EpisodeDto(
@SerialName("n_episodio") @SerialName("n_episodio")
val episodeNumber: String, val episodeNumber: String,
val anime: AnimeDataDto? = null,
) )
@Serializable @Serializable