Add a migrate to GH message in GS main extension (#11528)
* Add a migrate to GH message in GS main extension. * Fix missing override in nullableChapterFromElement.
This commit is contained in:
parent
b1e252455f
commit
6339053df1
|
@ -10,24 +10,12 @@ import java.util.Locale
|
|||
|
||||
class FallenAngels : MMRCMS("Fallen Angels", "https://manga.fascans.com", "en") {
|
||||
|
||||
/**
|
||||
* Parses the response from the site and returns a list of chapters.
|
||||
*
|
||||
* Overriden to allow for null chapters
|
||||
*
|
||||
* @param response the response from the site.
|
||||
*/
|
||||
override fun chapterListParse(response: Response): List<SChapter> {
|
||||
val document = response.asJsoup()
|
||||
return document.select(chapterListSelector()).mapNotNull { nullableChapterFromElement(it) }
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a chapter from the given element.
|
||||
*
|
||||
* @param element an element obtained from [chapterListSelector].
|
||||
*/
|
||||
private fun nullableChapterFromElement(element: Element): SChapter? {
|
||||
override fun nullableChapterFromElement(element: Element): SChapter? {
|
||||
val chapter = SChapter.create()
|
||||
|
||||
val titleWrapper = element.select("[class^=chapter-title-rtl]").first()
|
||||
|
|
|
@ -4,8 +4,11 @@ import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor
|
|||
import eu.kanade.tachiyomi.multisrc.mmrcms.MMRCMS
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import okhttp3.Response
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class GekkouScans : MMRCMS(
|
||||
|
@ -18,6 +21,22 @@ class GekkouScans : MMRCMS(
|
|||
.addInterceptor(RateLimitInterceptor(1, 2, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override fun chapterListParse(response: Response): List<SChapter> {
|
||||
val document = response.asJsoup()
|
||||
val chapters = document.select(chapterListSelector())
|
||||
.mapNotNull(::nullableChapterFromElement)
|
||||
|
||||
val isExternal = document
|
||||
.select("ul.domaintld > li.li:has(a[href*='hentai.gekkouscans.com.br'])")
|
||||
.firstOrNull() != null
|
||||
|
||||
if (chapters.isEmpty() && isExternal) {
|
||||
throw Exception(EXTERNAL_SERIES_ERROR)
|
||||
}
|
||||
|
||||
return chapters
|
||||
}
|
||||
|
||||
override fun chapterListSelector() = "ul.domaintld > li.li:has(a[href^='$baseUrl'])"
|
||||
|
||||
override fun imageRequest(page: Page): Request {
|
||||
|
@ -31,5 +50,8 @@ class GekkouScans : MMRCMS(
|
|||
|
||||
companion object {
|
||||
private const val ACCEPT_IMAGE = "image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8"
|
||||
|
||||
private const val EXTERNAL_SERIES_ERROR =
|
||||
"Migre esta série para a extensão Gekkou Hentai para continuar lendo."
|
||||
}
|
||||
}
|
||||
|
|
|
@ -358,7 +358,7 @@ abstract class MMRCMS(
|
|||
*
|
||||
* @param element an element obtained from [chapterListSelector].
|
||||
*/
|
||||
private fun nullableChapterFromElement(element: Element): SChapter? {
|
||||
protected open fun nullableChapterFromElement(element: Element): SChapter? {
|
||||
val chapter = SChapter.create()
|
||||
|
||||
try {
|
||||
|
|
|
@ -63,7 +63,7 @@ class MMRCMSSources {
|
|||
SourceData.Single("Op-VF", "https://www.op-vf.com", "fr", className = "OpVF"),
|
||||
SourceData.Single("FR Scan", "https://frscan.cc", "fr", overrideVersionCode = 1),
|
||||
SourceData.Single("Ama Scans", "https://amascan.com", "pt-BR", isNsfw = true, overrideVersionCode = 2),
|
||||
SourceData.Single("Gekkou Scans", "https://gekkou.com.br", "pt-BR", isNsfw = true, pkgName = "gekkouscan", overrideVersionCode = 11),
|
||||
SourceData.Single("Gekkou Scans", "https://gekkou.com.br", "pt-BR", isNsfw = true, pkgName = "gekkouscan", overrideVersionCode = 12),
|
||||
SourceData.Single("Gekkou Hentai", "https://hentai.gekkouscans.com.br", "pt-BR", isNsfw = true),
|
||||
SourceData.Single("White Cloud Pavilion", "https://whitecloudpavilion.com/manga/patreon", "en"),
|
||||
// NOTE: THIS SOURCE CONTAINS A CUSTOM LANGUAGE SYSTEM (which will be ignored)!
|
||||
|
|
Loading…
Reference in New Issue