diff --git a/src/en/mayotune/build.gradle b/src/en/mayotune/build.gradle index e3353ffa2..56b568d56 100644 --- a/src/en/mayotune/build.gradle +++ b/src/en/mayotune/build.gradle @@ -1,7 +1,7 @@ ext { extName = 'MayoTune' extClass = '.MayoTune' - extVersionCode = 1 + extVersionCode = 2 baseUrl = 'https://mayotune.xyz' isNsfw = false } diff --git a/src/en/mayotune/src/eu/kanade/tachiyomi/extension/en/mayotune/ChapterDto.kt b/src/en/mayotune/src/eu/kanade/tachiyomi/extension/en/mayotune/ChapterDto.kt index 9504fc646..ffe2b87f9 100644 --- a/src/en/mayotune/src/eu/kanade/tachiyomi/extension/en/mayotune/ChapterDto.kt +++ b/src/en/mayotune/src/eu/kanade/tachiyomi/extension/en/mayotune/ChapterDto.kt @@ -17,7 +17,8 @@ data class ChapterDto( @Contextual private val sdf = SimpleDateFormat("yyyy-MM-dd", Locale.US) - fun getChapterURL(): String = "/chapter/${this.id}" + fun getChapterURL(): String = + "/api/chapters?id=$id&number=${this.getNumberStr()}" fun getNumberStr(): String = if (this.number % 1 == 0f) { this.number.toInt().toString() @@ -25,7 +26,7 @@ data class ChapterDto( this.number.toString() } - fun getChapterTitle(): String = if (!this.title.isEmpty()) { + fun getChapterTitle(): String = if (this.title.isNotBlank()) { "Chapter ${this.getNumberStr()}: ${this.title}" } else { "Chapter ${this.getNumberStr()}" diff --git a/src/en/mayotune/src/eu/kanade/tachiyomi/extension/en/mayotune/MayoTune.kt b/src/en/mayotune/src/eu/kanade/tachiyomi/extension/en/mayotune/MayoTune.kt index 38fb713bc..c8730f7df 100644 --- a/src/en/mayotune/src/eu/kanade/tachiyomi/extension/en/mayotune/MayoTune.kt +++ b/src/en/mayotune/src/eu/kanade/tachiyomi/extension/en/mayotune/MayoTune.kt @@ -9,6 +9,7 @@ import eu.kanade.tachiyomi.source.model.SManga import eu.kanade.tachiyomi.source.online.HttpSource import eu.kanade.tachiyomi.util.asJsoup import keiyoushi.utils.parseAs +import okhttp3.HttpUrl.Companion.toHttpUrl import okhttp3.Request import okhttp3.Response import rx.Observable @@ -73,6 +74,11 @@ class MayoTune() : HttpSource() { return GET("$baseUrl/api/chapters", headers) } + override fun getChapterUrl(chapter: SChapter): String { + val id = (baseUrl + chapter.url).toHttpUrl().queryParameter("id") + return "$baseUrl/chapter/$id" + } + // Details override fun mangaDetailsParse(response: Response): SManga = SManga.create().apply { val document = response.asJsoup() @@ -111,12 +117,12 @@ class MayoTune() : HttpSource() { } } } - // Pages + // Pages override fun pageListParse(response: Response): List { - val document = response.asJsoup() - return document.select("div.w-full > img").mapIndexed { index, img -> - Page(index, imageUrl = img.absUrl("src")) + val chapter = response.parseAs() + return List(chapter.pageCount) { index -> + Page(index, imageUrl = "$baseUrl/api/manga/${chapter.id}/${index + 1}") } }