Madara - chapters, thumbnails (#2655)

Madara - chapters, thumbnails
This commit is contained in:
Mike 2020-04-13 08:20:14 -04:00 committed by GitHub
parent 634240b2f0
commit 1d34fe83b0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 13 additions and 12 deletions

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Madara (multiple sources)'
pkgNameSuffix = "all.madara"
extClass = '.MadaraFactory'
extVersionCode = 68
extVersionCode = 69
libVersion = '1.2'
}

View File

@ -20,7 +20,6 @@ import okhttp3.Response
import okhttp3.RequestBody
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import org.jsoup.select.Elements
import rx.Observable
import java.text.ParseException
import java.text.SimpleDateFormat
@ -59,7 +58,7 @@ abstract class Madara(
}
select("img").first()?.let {
manga.thumbnail_url = it.absUrl(if (it.hasAttr("data-src")) "data-src" else "src")
manga.thumbnail_url = imageFromElement(it)
}
}
@ -304,7 +303,7 @@ abstract class Madara(
manga.title = it.ownText()
}
select("img").first()?.let {
manga.thumbnail_url = it.absUrl(if (it.hasAttr("data-src")) "data-src" else "src")
manga.thumbnail_url = imageFromElement(it)
}
}
@ -338,7 +337,7 @@ abstract class Madara(
}
}
select("div.summary_image img").first()?.let {
manga.thumbnail_url = detailsThumbnail(it)
manga.thumbnail_url = imageFromElement(it)
}
select("div.summary-content").last()?.let {
manga.status = when (it.text()) {
@ -360,8 +359,13 @@ abstract class Madara(
return manga
}
open fun detailsThumbnail(element: Element): String {
return element.absUrl(if (element.hasAttr("data-src")) "data-src" else "src")
private fun imageFromElement(element: Element): String? {
return when {
element.hasAttr("data-src") -> element.attr("abs:data-src")
element.hasAttr("data-lazy-src") -> element.attr("abs:data-lazy-src")
element.hasAttr("srcset") -> element.attr("abs:srcset").substringBefore(" ")
else -> element.attr("abs:src")
}
}
private fun getXhrChapters(mangaId: String): Document {
@ -378,7 +382,7 @@ abstract class Madara(
.let { elements ->
if (elements.isEmpty() && !document.select(dataIdSelector).isNullOrEmpty())
getXhrChapters(document.select(dataIdSelector).attr("data-id")).select(chapterListSelector())
else Elements()
else elements
}
.map { chapterFromElement(it) }
}

View File

@ -175,9 +175,6 @@ class MangazukiClubKO : Madara("Mangazuki.club", "https://mangazuki.club", "ko")
class FirstKissManga : Madara("1st Kiss", "https://1stkissmanga.com", "en",
dateFormat = SimpleDateFormat("dd MMM yyyy", Locale.US)) {
override fun headersBuilder(): Headers.Builder = super.headersBuilder().add("Referer", baseUrl)
override fun detailsThumbnail(element: Element): String {
return if (element.hasAttr("data-lazy-src")) element.attr("abs:data-lazy-src") else super.detailsThumbnail(element)
}
}
class MangaSY : Madara("Manga SY", "https://www.mangasy.com", "en")
@ -269,7 +266,7 @@ class Milftoon : Madara("Milftoon", "https://milftoon.xxx", "en") {
override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/page/$page/?m_orderby=latest", headers)
}
class Hiperdex : Madara("Hiperdex", "https://hiperdex.com", "en") {
class Hiperdex : Madara("Hiperdex", "https://hiperdex.net", "en") {
override fun getGenreList() = listOf(
Genre("Adult", "adult"),
Genre("Action", "action"),