AsuraScans: Fix thumbnails not loading in mobile UA (#15616)
* Fix thumbnails (mobile UA) * Fix duplicates in TR site
This commit is contained in:
parent
a91461dcd0
commit
b03de72347
@ -9,8 +9,11 @@ import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
|||||||
import eu.kanade.tachiyomi.source.ConfigurableSource
|
import eu.kanade.tachiyomi.source.ConfigurableSource
|
||||||
import eu.kanade.tachiyomi.source.model.FilterList
|
import eu.kanade.tachiyomi.source.model.FilterList
|
||||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||||
|
import eu.kanade.tachiyomi.source.model.Page
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import okhttp3.OkHttpClient
|
import okhttp3.OkHttpClient
|
||||||
|
import org.jsoup.nodes.Document
|
||||||
|
import org.jsoup.nodes.Element
|
||||||
import rx.Observable
|
import rx.Observable
|
||||||
import uy.kohesive.injekt.Injekt
|
import uy.kohesive.injekt.Injekt
|
||||||
import uy.kohesive.injekt.api.get
|
import uy.kohesive.injekt.api.get
|
||||||
@ -53,6 +56,20 @@ open class AsuraScans(
|
|||||||
return super.fetchSearchManga(page, query, filters).tempUrlToPermIfNeeded()
|
return super.fetchSearchManga(page, query, filters).tempUrlToPermIfNeeded()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Skip scriptPages
|
||||||
|
override fun pageListParse(document: Document): List<Page> {
|
||||||
|
return document.select(pageSelector)
|
||||||
|
.filterNot { it.attr("src").isNullOrEmpty() }
|
||||||
|
.mapIndexed { i, img -> Page(i, "", img.attr("abs:src")) }
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun Element.imgAttr(): String = when {
|
||||||
|
hasAttr("data-lazy-src") -> attr("abs:data-lazy-src")
|
||||||
|
hasAttr("data-src") -> attr("abs:data-src")
|
||||||
|
hasAttr("data-cfsrc") -> attr("abs:data-cfsrc")
|
||||||
|
else -> attr("abs:src")
|
||||||
|
}
|
||||||
|
|
||||||
private fun Observable<MangasPage>.tempUrlToPermIfNeeded(): Observable<MangasPage> {
|
private fun Observable<MangasPage>.tempUrlToPermIfNeeded(): Observable<MangasPage> {
|
||||||
return this.map { mangasPage ->
|
return this.map { mangasPage ->
|
||||||
MangasPage(
|
MangasPage(
|
||||||
|
@ -1,9 +1,7 @@
|
|||||||
package eu.kanade.tachiyomi.extension.all.asurascans
|
package eu.kanade.tachiyomi.extension.all.asurascans
|
||||||
|
|
||||||
import eu.kanade.tachiyomi.source.SourceFactory
|
import eu.kanade.tachiyomi.source.SourceFactory
|
||||||
import eu.kanade.tachiyomi.source.model.Page
|
|
||||||
import eu.kanade.tachiyomi.source.model.SManga
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
import org.jsoup.nodes.Document
|
|
||||||
import java.text.SimpleDateFormat
|
import java.text.SimpleDateFormat
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
|
|
||||||
@ -20,13 +18,6 @@ class AsuraScansEn : AsuraScans("https://asura.gg", "en", SimpleDateFormat("MMM
|
|||||||
|
|
||||||
override val pageSelector = "div.rdminimal > img, div.rdminimal > p > img, div.rdminimal > a > img, div.rdminimal > p > a > img, " +
|
override val pageSelector = "div.rdminimal > img, div.rdminimal > p > img, div.rdminimal > a > img, div.rdminimal > p > a > img, " +
|
||||||
"div.rdminimal > noscript > img, div.rdminimal > p > noscript > img, div.rdminimal > a > noscript > img, div.rdminimal > p > a > noscript > img"
|
"div.rdminimal > noscript > img, div.rdminimal > p > noscript > img, div.rdminimal > a > noscript > img, div.rdminimal > p > a > noscript > img"
|
||||||
|
|
||||||
// Skip scriptPages
|
|
||||||
override fun pageListParse(document: Document): List<Page> {
|
|
||||||
return document.select(pageSelector)
|
|
||||||
.filterNot { it.attr("src").isNullOrEmpty() }
|
|
||||||
.mapIndexed { i, img -> Page(i, "", img.attr("abs:src")) }
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class AsuraScansTr : AsuraScans("https://asurascanstr.com", "tr", SimpleDateFormat("MMM d, yyyy", Locale("tr"))) {
|
class AsuraScansTr : AsuraScans("https://asurascanstr.com", "tr", SimpleDateFormat("MMM d, yyyy", Locale("tr"))) {
|
||||||
|
@ -14,7 +14,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
|
|||||||
override val baseVersionCode: Int = 25
|
override val baseVersionCode: Int = 25
|
||||||
|
|
||||||
override val sources = listOf(
|
override val sources = listOf(
|
||||||
MultiLang("Asura Scans", "https://www.asurascans.com", listOf("en", "tr"), className = "AsuraScansFactory", pkgName = "asurascans", overrideVersionCode = 19),
|
MultiLang("Asura Scans", "https://www.asurascans.com", listOf("en", "tr"), className = "AsuraScansFactory", pkgName = "asurascans", overrideVersionCode = 20),
|
||||||
MultiLang("Flame Scans", "https://flamescans.org", listOf("en"), className = "FlameScansFactory", pkgName = "flamescans", overrideVersionCode = 4),
|
MultiLang("Flame Scans", "https://flamescans.org", listOf("en"), className = "FlameScansFactory", pkgName = "flamescans", overrideVersionCode = 4),
|
||||||
MultiLang("Komik Lab", "https://komiklab.com", listOf("en", "id"), className = "KomikLabFactory", pkgName = "komiklab", overrideVersionCode = 1),
|
MultiLang("Komik Lab", "https://komiklab.com", listOf("en", "id"), className = "KomikLabFactory", pkgName = "komiklab", overrideVersionCode = 1),
|
||||||
MultiLang("Miau Scan", "https://miauscan.com", listOf("es", "pt-BR")),
|
MultiLang("Miau Scan", "https://miauscan.com", listOf("es", "pt-BR")),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user