MangaAE - Fix Chapter URL (#2485)

MangaAE - Fix Chapter URL
This commit is contained in:
happywillow0 2020-03-23 15:33:49 -04:00 committed by GitHub
parent 6494d9eaa1
commit 5bad39943e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 21 additions and 9 deletions

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Manga.ae' appName = 'Tachiyomi: Manga.ae'
pkgNameSuffix = 'ar.mangaae' pkgNameSuffix = 'ar.mangaae'
extClass = '.MangaAe' extClass = '.MangaAe'
extVersionCode = 4 extVersionCode = 5
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -2,7 +2,11 @@ package eu.kanade.tachiyomi.extension.ar.mangaae
import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.* import eu.kanade.tachiyomi.source.model.Filter
import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.Page
import eu.kanade.tachiyomi.source.model.SChapter
import eu.kanade.tachiyomi.source.model.SManga
import eu.kanade.tachiyomi.source.online.ParsedHttpSource import eu.kanade.tachiyomi.source.online.ParsedHttpSource
import okhttp3.Headers import okhttp3.Headers
import okhttp3.HttpUrl import okhttp3.HttpUrl
@ -42,7 +46,11 @@ class MangaAe : ParsedHttpSource() {
override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply { override fun popularMangaFromElement(element: Element): SManga = SManga.create().apply {
val lazysrc = element.select("img").attr("data-pagespeed-lazy-src") val lazysrc = element.select("img").attr("data-pagespeed-lazy-src")
thumbnail_url = if (lazysrc.isNullOrEmpty()) { element.select("img").attr("src") } else { lazysrc } thumbnail_url = if (lazysrc.isNullOrEmpty()) {
element.select("img").attr("src")
} else {
lazysrc
}
element.select("div.mangacontainer a.manga")[0].let { element.select("div.mangacontainer a.manga")[0].let {
title = it.text() title = it.text()
setUrlWithoutDomain(it.attr("abs:href")) setUrlWithoutDomain(it.attr("abs:href"))
@ -58,7 +66,11 @@ class MangaAe : ParsedHttpSource() {
override fun latestUpdatesFromElement(element: Element): SManga = SManga.create().apply { override fun latestUpdatesFromElement(element: Element): SManga = SManga.create().apply {
val lazysrc = element.select("img").attr("data-pagespeed-lazy-src") val lazysrc = element.select("img").attr("data-pagespeed-lazy-src")
thumbnail_url = if (lazysrc.isNullOrEmpty()) { element.select("img").attr("src") } else { lazysrc } thumbnail_url = if (lazysrc.isNullOrEmpty()) {
element.select("img").attr("src")
} else {
lazysrc
}
element.select("a")[2].let { element.select("a")[2].let {
setUrlWithoutDomain(it.attr("abs:href")) setUrlWithoutDomain(it.attr("abs:href"))
title = it.text() title = it.text()
@ -73,7 +85,7 @@ class MangaAe : ParsedHttpSource() {
filters.forEach { filter -> filters.forEach { filter ->
when (filter) { when (filter) {
is OrderByFilter -> { is OrderByFilter -> {
if(filter.state != 0) { if (filter.state != 0) {
url += "|order:${filter.toUriPart()}" url += "|order:${filter.toUriPart()}"
} }
} }
@ -92,7 +104,7 @@ class MangaAe : ParsedHttpSource() {
// Manga summary page // Manga summary page
override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply { override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply {
val infoElement = document.select("div.indexcontainer").first() val infoElement = document.select("div.indexcontainer").first()
title = infoElement.select("h1.EnglishName").text().removeSurrounding("(",")") title = infoElement.select("h1.EnglishName").text().removeSurrounding("(", ")")
author = infoElement.select("div.manga-details-author h4")[0].text() author = infoElement.select("div.manga-details-author h4")[0].text()
artist = author artist = author
status = parseStatus(infoElement.select("div.manga-details-extended h4")[1].text()) status = parseStatus(infoElement.select("div.manga-details-extended h4")[1].text())
@ -115,8 +127,7 @@ class MangaAe : ParsedHttpSource() {
val chapter = SChapter.create() val chapter = SChapter.create()
element.select("a").let { element.select("a").let {
// use full pages for easier links // use full pages for easier links
chapter.setUrlWithoutDomain(it.attr("href") chapter.setUrlWithoutDomain(it.attr("href").removeSuffix("/1/") + "/0/full")
.replace("/1/", "/0/full"))
chapter.name = "\u061C" + it.text() //Add unicode ARABIC LETTER MARK to ensure all titles are right to left chapter.name = "\u061C" + it.text() //Add unicode ARABIC LETTER MARK to ensure all titles are right to left
} }
return chapter return chapter
@ -130,7 +141,8 @@ class MangaAe : ParsedHttpSource() {
} }
return pages return pages
} }
override fun imageUrlParse(document: Document): String = throw UnsupportedOperationException("Not used")
override fun imageUrlParse(document: Document): String = throw Exception("Not used")
private open class UriPartFilter(displayName: String, val vals: Array<Pair<String, String>>) : private open class UriPartFilter(displayName: String, val vals: Array<Pair<String, String>>) :
Filter.Select<String>(displayName, vals.map { it.first }.toTypedArray()) { Filter.Select<String>(displayName, vals.map { it.first }.toTypedArray()) {