mangadex: pagination/browse fix. (#269)
* mangadex: pagination/browse fix.
This commit is contained in:
parent
318f335bf8
commit
fd79e3b2dd
@ -5,8 +5,8 @@ ext {
|
|||||||
appName = 'Tachiyomi: MangaDex'
|
appName = 'Tachiyomi: MangaDex'
|
||||||
pkgNameSuffix = "all.mangadex"
|
pkgNameSuffix = "all.mangadex"
|
||||||
extClass = '.MangadexFactory'
|
extClass = '.MangadexFactory'
|
||||||
extVersionCode = 17
|
extVersionCode = 18
|
||||||
extVersionSuffix = 17
|
extVersionSuffix = 18
|
||||||
libVersion = '1.2'
|
libVersion = '1.2'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -19,7 +19,7 @@ import java.net.URLEncoder
|
|||||||
import java.util.*
|
import java.util.*
|
||||||
import java.util.concurrent.TimeUnit
|
import java.util.concurrent.TimeUnit
|
||||||
|
|
||||||
open class Mangadex(override val lang: String, private val internalLang: String, val pageStart: Int) : ParsedHttpSource() {
|
open class Mangadex(override val lang: String, private val internalLang: String, val langCode: Int) : ParsedHttpSource() {
|
||||||
|
|
||||||
override val name = "MangaDex"
|
override val name = "MangaDex"
|
||||||
|
|
||||||
@ -36,15 +36,16 @@ open class Mangadex(override val lang: String, private val internalLang: String,
|
|||||||
val newReq = chain
|
val newReq = chain
|
||||||
.request()
|
.request()
|
||||||
.newBuilder()
|
.newBuilder()
|
||||||
.addHeader("Cookie", cookiesHeader(r18Toggle))
|
.addHeader("Cookie", cookiesHeader(r18Toggle, langCode))
|
||||||
.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64)")
|
.addHeader("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64)")
|
||||||
.build()
|
.build()
|
||||||
chain.proceed(newReq)
|
chain.proceed(newReq)
|
||||||
}.build()!!
|
}.build()!!
|
||||||
|
|
||||||
private fun cookiesHeader(r18Toggle: Int): String {
|
private fun cookiesHeader(r18Toggle: Int, langCode: Int): String {
|
||||||
val cookies = mutableMapOf<String, String>()
|
val cookies = mutableMapOf<String, String>()
|
||||||
cookies["mangadex_h_toggle"] = r18Toggle.toString()
|
cookies["mangadex_h_toggle"] = r18Toggle.toString()
|
||||||
|
cookies["mangadex_filter_langs"] = langCode.toString()
|
||||||
return buildCookies(cookies)
|
return buildCookies(cookies)
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -52,23 +53,21 @@ open class Mangadex(override val lang: String, private val internalLang: String,
|
|||||||
"${URLEncoder.encode(it.key, "UTF-8")}=${URLEncoder.encode(it.value, "UTF-8")}"
|
"${URLEncoder.encode(it.key, "UTF-8")}=${URLEncoder.encode(it.value, "UTF-8")}"
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun popularMangaSelector() = ".table-responsive tbody tr"
|
override fun popularMangaSelector() = "div.col-sm-6"
|
||||||
|
|
||||||
override fun latestUpdatesSelector() = ".table-responsive tbody tr a.manga_title[href*=manga]"
|
override fun latestUpdatesSelector() = ".table-responsive tbody tr a.manga_title[href*=manga]"
|
||||||
|
|
||||||
override fun popularMangaRequest(page: Int): Request {
|
override fun popularMangaRequest(page: Int): Request {
|
||||||
val pageStr = if (page != 1) "/" + ((page * 100) - 100) else ""
|
return GET("$baseUrl/titles/0/$page", headers)
|
||||||
return GET("$baseUrl/titles$pageStr", headers)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun latestUpdatesRequest(page: Int): Request {
|
override fun latestUpdatesRequest(page: Int): Request {
|
||||||
val pageStr = if (page != 1) "/" + ((page * 20)) else ""
|
return GET("$baseUrl/0/$page", headers)
|
||||||
return GET("$baseUrl/$pageStart$pageStr", headers)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun popularMangaFromElement(element: Element): SManga {
|
override fun popularMangaFromElement(element: Element): SManga {
|
||||||
val manga = SManga.create()
|
val manga = SManga.create()
|
||||||
element.select("a[href*=manga]").first().let {
|
element.select("a.manga_title").first().let {
|
||||||
val url = removeMangaNameFromUrl(it.attr("href"))
|
val url = removeMangaNameFromUrl(it.attr("href"))
|
||||||
manga.setUrlWithoutDomain(url)
|
manga.setUrlWithoutDomain(url)
|
||||||
manga.thumbnail_url = baseUrl + "/images" + manga.url.substringBeforeLast("/") + ".jpg"
|
manga.thumbnail_url = baseUrl + "/images" + manga.url.substringBeforeLast("/") + ".jpg"
|
||||||
@ -157,7 +156,15 @@ open class Mangadex(override val lang: String, private val internalLang: String,
|
|||||||
override fun searchMangaSelector() = ".table.table-striped.table-hover.table-condensed tbody tr"
|
override fun searchMangaSelector() = ".table.table-striped.table-hover.table-condensed tbody tr"
|
||||||
|
|
||||||
override fun searchMangaFromElement(element: Element): SManga {
|
override fun searchMangaFromElement(element: Element): SManga {
|
||||||
return popularMangaFromElement(element)
|
val manga = SManga.create()
|
||||||
|
element.select("a[href*=manga]").first().let {
|
||||||
|
val url = removeMangaNameFromUrl(it.attr("href"))
|
||||||
|
manga.setUrlWithoutDomain(url)
|
||||||
|
manga.thumbnail_url = baseUrl + "/images" + manga.url.substringBeforeLast("/") + ".jpg"
|
||||||
|
manga.title = it.text().trim()
|
||||||
|
manga.author = it?.text()?.trim()
|
||||||
|
}
|
||||||
|
return manga
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun fetchMangaDetails(manga: SManga): Observable<SManga> {
|
override fun fetchMangaDetails(manga: SManga): Observable<SManga> {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user