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
data class AtHomeDto(
val baseUrl: String,
val chapter: AtHomeChapterDto,
)
@Serializable
data class AtHomeChapterDto(
val hash: String,
val data: List<String>,
val dataSaver: List<String>,
)
@Serializable

View File

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

View File

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