Mangadex: Use updated /at-home/server/ endpoint for pages

This commit is contained in:
Jobobby04 2021-12-25 12:08:50 -05:00
parent 9e9fa80450
commit c498d03d6b
3 changed files with 13 additions and 10 deletions

View File

@ -5,6 +5,14 @@ import kotlinx.serialization.Serializable
@Serializable @Serializable
data class AtHomeDto( data class AtHomeDto(
val baseUrl: String, val baseUrl: String,
val chapter: AtHomeChapterDto,
)
@Serializable
data class AtHomeChapterDto(
val hash: String,
val data: List<String>,
val dataSaver: List<String>,
) )
@Serializable @Serializable

View File

@ -30,9 +30,6 @@ data class ChapterAttributesDto(
val volume: String?, val volume: String?,
val chapter: String?, val chapter: String?,
val translatedLanguage: String, val translatedLanguage: String,
val hash: String,
val data: List<String>,
val dataSaver: List<String>,
val externalUrl: String?, val externalUrl: String?,
val version: Int, val version: Int,
val createdAt: String, val createdAt: String,

View File

@ -9,7 +9,6 @@ import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.util.lang.withIOContext import eu.kanade.tachiyomi.util.lang.withIOContext
import exh.log.xLogD import exh.log.xLogD
import exh.md.dto.AtHomeDto import exh.md.dto.AtHomeDto
import exh.md.dto.ChapterDto
import exh.md.service.MangaDexService import exh.md.service.MangaDexService
import exh.md.utils.MdApi import exh.md.utils.MdApi
import exh.md.utils.MdUtil import exh.md.utils.MdUtil
@ -34,7 +33,7 @@ class PageHandler(
return withIOContext { return withIOContext {
val chapterResponse = service.viewChapter(MdUtil.getChapterId(chapter.url)) val chapterResponse = service.viewChapter(MdUtil.getChapterId(chapter.url))
if (chapterResponse.data.attributes.externalUrl != null && chapterResponse.data.attributes.data.isEmpty()) { if (chapterResponse.data.attributes.externalUrl != null) {
when { when {
chapter.scanlator.equals("mangaplus", true) -> mangaPlusHandler.fetchPageList( chapter.scanlator.equals("mangaplus", true) -> mangaPlusHandler.fetchPageList(
chapterResponse.data.attributes.externalUrl chapterResponse.data.attributes.externalUrl
@ -65,7 +64,7 @@ class PageHandler(
val atHomeResponse = service.getAtHomeServer(atHomeRequestUrl, headers) val atHomeResponse = service.getAtHomeServer(atHomeRequestUrl, headers)
pageListParse(chapterResponse, atHomeRequestUrl, atHomeResponse, dataSaver) pageListParse(atHomeRequestUrl, atHomeResponse, dataSaver)
} }
} }
} }
@ -85,16 +84,15 @@ class PageHandler(
} }
private fun pageListParse( private fun pageListParse(
chapterDto: ChapterDto,
atHomeRequestUrl: String, atHomeRequestUrl: String,
atHomeDto: AtHomeDto, atHomeDto: AtHomeDto,
dataSaver: Boolean, dataSaver: Boolean,
): List<Page> { ): List<Page> {
val hash = chapterDto.data.attributes.hash val hash = atHomeDto.chapter.hash
val pageArray = if (dataSaver) { val pageArray = if (dataSaver) {
chapterDto.data.attributes.dataSaver.map { "/data-saver/$hash/$it" } atHomeDto.chapter.dataSaver.map { "/data-saver/$hash/$it" }
} else { } else {
chapterDto.data.attributes.data.map { "/data/$hash/$it" } atHomeDto.chapter.data.map { "/data/$hash/$it" }
} }
val now = System.currentTimeMillis() val now = System.currentTimeMillis()