2021-03-19 23:15:59 +00:00
|
|
|
package eu.kanade.tachiyomi.extension.all.leviatanscans
|
|
|
|
|
|
|
|
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
|
|
|
import eu.kanade.tachiyomi.source.Source
|
|
|
|
import eu.kanade.tachiyomi.source.SourceFactory
|
2021-11-02 14:51:58 +00:00
|
|
|
import eu.kanade.tachiyomi.source.model.SChapter
|
|
|
|
import eu.kanade.tachiyomi.source.model.SManga
|
|
|
|
import org.jsoup.nodes.Element
|
2021-03-19 23:15:59 +00:00
|
|
|
|
|
|
|
class LeviatanScansFactory : SourceFactory {
|
|
|
|
override fun createSources(): List<Source> = listOf(
|
|
|
|
LeviatanScansEN(),
|
|
|
|
LeviatanScansES(),
|
|
|
|
)
|
|
|
|
}
|
2021-08-24 14:55:54 +00:00
|
|
|
class LeviatanScansEN : Madara("Leviatan Scans", "https://leviatanscans.com", "en") {
|
|
|
|
override val useNewChapterEndpoint: Boolean = true
|
2021-11-02 14:51:58 +00:00
|
|
|
|
|
|
|
override fun popularMangaFromElement(element: Element) =
|
|
|
|
replaceRandomUrlPartInManga(super.popularMangaFromElement(element))
|
|
|
|
|
|
|
|
override fun latestUpdatesFromElement(element: Element) =
|
|
|
|
replaceRandomUrlPartInManga(super.latestUpdatesFromElement(element))
|
|
|
|
|
|
|
|
override fun searchMangaFromElement(element: Element) =
|
|
|
|
replaceRandomUrlPartInManga(super.searchMangaFromElement(element))
|
|
|
|
|
|
|
|
override fun chapterFromElement(element: Element) =
|
|
|
|
replaceRandomUrlPartInChapter(super.chapterFromElement(element))
|
2021-11-04 12:45:30 +00:00
|
|
|
|
|
|
|
override val mangaDetailsSelectorDescription = "div.post-content div.manga-excerpt"
|
2021-08-24 14:55:54 +00:00
|
|
|
}
|
|
|
|
class LeviatanScansES : Madara("Leviatan Scans", "https://es.leviatanscans.com", "es") {
|
|
|
|
override val useNewChapterEndpoint: Boolean = true
|
2021-11-02 14:51:58 +00:00
|
|
|
|
|
|
|
override fun popularMangaFromElement(element: Element) =
|
|
|
|
replaceRandomUrlPartInManga(super.popularMangaFromElement(element))
|
|
|
|
|
|
|
|
override fun latestUpdatesFromElement(element: Element) =
|
|
|
|
replaceRandomUrlPartInManga(super.latestUpdatesFromElement(element))
|
|
|
|
|
|
|
|
override fun searchMangaFromElement(element: Element) =
|
|
|
|
replaceRandomUrlPartInManga(super.searchMangaFromElement(element))
|
|
|
|
|
|
|
|
override fun chapterFromElement(element: Element) =
|
|
|
|
replaceRandomUrlPartInChapter(super.chapterFromElement(element))
|
|
|
|
}
|
|
|
|
|
|
|
|
fun Madara.replaceRandomUrlPartInManga(manga: SManga): SManga {
|
|
|
|
val split = manga.url.split("/")
|
|
|
|
manga.url = split.slice(split.indexOf("manga") until split.size).joinToString("/", "/")
|
|
|
|
return manga
|
|
|
|
}
|
|
|
|
|
|
|
|
fun Madara.replaceRandomUrlPartInChapter(chapter: SChapter): SChapter {
|
|
|
|
val split = chapter.url.split("/")
|
|
|
|
chapter.url = baseUrl + split.slice(split.indexOf("manga") until split.size).joinToString("/", "/")
|
|
|
|
return chapter
|
2021-08-24 14:55:54 +00:00
|
|
|
}
|