Add ManhwaFreak.fr and Sushiscan.fr (#17864)
* Add ManhwaFreak.fr and Sushiscan.fr * Add FilterList and Request for search * Update multisrc/overrides/mangathemesia/manhwafreakfr/src/ManhwaFreakFR.kt Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> * Update multisrc/overrides/mangathemesia/sushiscanfr/src/SushiScanFR.kt Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> * Update source names --------- Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com>
This commit is contained in:
parent
27b9487ea8
commit
fe03803456
multisrc
overrides/mangathemesia
manhwafreakfr
sushiscanfr
src/main/java/eu/kanade/tachiyomi/multisrc/mangathemesia
Binary file not shown.
After ![]() (image error) Size: 3.0 KiB |
Binary file not shown.
After ![]() (image error) Size: 1.6 KiB |
Binary file not shown.
After ![]() (image error) Size: 4.5 KiB |
Binary file not shown.
After ![]() (image error) Size: 8.8 KiB |
Binary file not shown.
After ![]() (image error) Size: 13 KiB |
Binary file not shown.
After ![]() (image error) Size: 63 KiB |
@ -0,0 +1,32 @@
|
|||||||
|
package eu.kanade.tachiyomi.extension.fr.manhwafreakfr
|
||||||
|
|
||||||
|
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
|
||||||
|
import eu.kanade.tachiyomi.network.GET
|
||||||
|
import eu.kanade.tachiyomi.source.model.FilterList
|
||||||
|
import eu.kanade.tachiyomi.source.model.SChapter
|
||||||
|
import okhttp3.Request
|
||||||
|
import org.jsoup.nodes.Element
|
||||||
|
import java.text.SimpleDateFormat
|
||||||
|
import java.util.Locale
|
||||||
|
|
||||||
|
class ManhwaFreakFR : MangaThemesia("ManhwaFreak", "https://manhwafreak.fr", "fr", dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale.ENGLISH)) {
|
||||||
|
override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/manga/?type=comic", headers)
|
||||||
|
|
||||||
|
override fun popularMangaRequest(page: Int) = GET("$baseUrl/manga/?order=views&type=comic", headers)
|
||||||
|
|
||||||
|
override fun searchMangaSelector() = ".listupd .lastest-serie"
|
||||||
|
|
||||||
|
override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request =
|
||||||
|
GET("$baseUrl/page/$page/?s=$query")
|
||||||
|
|
||||||
|
override fun chapterListSelector() = ".chapter-li a:not(:has(svg))"
|
||||||
|
|
||||||
|
override fun chapterFromElement(element: Element) = SChapter.create().apply {
|
||||||
|
val urlElements = element.select("a")
|
||||||
|
setUrlWithoutDomain(urlElements.attr("href"))
|
||||||
|
name = element.select(".chapter-info p:nth-child(1)").text().ifBlank { urlElements.first()!!.text() }
|
||||||
|
date_upload = element.selectFirst(".chapter-info p:nth-child(2)")?.text().parseChapterDate()
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun getFilterList() = FilterList()
|
||||||
|
}
|
Binary file not shown.
After ![]() (image error) Size: 2.8 KiB |
Binary file not shown.
After ![]() (image error) Size: 1.6 KiB |
Binary file not shown.
After ![]() (image error) Size: 4.0 KiB |
Binary file not shown.
After ![]() (image error) Size: 7.2 KiB |
Binary file not shown.
After ![]() (image error) Size: 11 KiB |
Binary file not shown.
After ![]() (image error) Size: 42 KiB |
@ -0,0 +1,24 @@
|
|||||||
|
package eu.kanade.tachiyomi.extension.fr.sushiscanfr
|
||||||
|
|
||||||
|
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
|
||||||
|
import eu.kanade.tachiyomi.source.model.SManga
|
||||||
|
import org.jsoup.nodes.Document
|
||||||
|
import java.text.SimpleDateFormat
|
||||||
|
import java.util.Locale
|
||||||
|
|
||||||
|
class SushiScanFR : MangaThemesia("Sushiscan.fr", "https://sushiscan.fr", "fr", dateFormat = SimpleDateFormat("MMMM d, yyyy", Locale.FRENCH)) {
|
||||||
|
override val altNamePrefix = "Nom alternatif : "
|
||||||
|
override val seriesAuthorSelector = ".imptdt:contains(Auteur) i, .fmed b:contains(Auteur)+span"
|
||||||
|
override val seriesStatusSelector = ".imptdt:contains(Statut) i"
|
||||||
|
override fun String?.parseStatus(): Int = when {
|
||||||
|
this == null -> SManga.UNKNOWN
|
||||||
|
this.contains("En Cours", ignoreCase = true) -> SManga.ONGOING
|
||||||
|
this.contains("Terminé", ignoreCase = true) -> SManga.COMPLETED
|
||||||
|
else -> SManga.UNKNOWN
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun mangaDetailsParse(document: Document): SManga =
|
||||||
|
super.mangaDetailsParse(document).apply {
|
||||||
|
status = document.select(seriesStatusSelector).text().parseStatus()
|
||||||
|
}
|
||||||
|
}
|
@ -79,6 +79,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
|
|||||||
SingleLang("MangKomik", "https://mangkomik.net", "id", overrideVersionCode = 1),
|
SingleLang("MangKomik", "https://mangkomik.net", "id", overrideVersionCode = 1),
|
||||||
SingleLang("Mangás Chan", "https://mangaschan.net", "pt-BR", className = "MangasChan", overrideVersionCode = 1),
|
SingleLang("Mangás Chan", "https://mangaschan.net", "pt-BR", className = "MangasChan", overrideVersionCode = 1),
|
||||||
SingleLang("Manhwa Freak", "https://manhwa-freak.com", "en", overrideVersionCode = 2),
|
SingleLang("Manhwa Freak", "https://manhwa-freak.com", "en", overrideVersionCode = 2),
|
||||||
|
SingleLang("ManhwaFreak", "https://manhwafreak.fr", "fr", className = "ManhwaFreakFR"),
|
||||||
SingleLang("ManhwaDesu", "https://manhwadesu.org", "id", isNsfw = true, overrideVersionCode = 3),
|
SingleLang("ManhwaDesu", "https://manhwadesu.org", "id", isNsfw = true, overrideVersionCode = 3),
|
||||||
SingleLang("ManhwaIndo", "https://manhwaindo.id", "id", isNsfw = true, overrideVersionCode = 2),
|
SingleLang("ManhwaIndo", "https://manhwaindo.id", "id", isNsfw = true, overrideVersionCode = 2),
|
||||||
SingleLang("ManhwaLand.mom", "https://manhwaland.us", "id", isNsfw = true, className = "ManhwaLandMom", overrideVersionCode = 4),
|
SingleLang("ManhwaLand.mom", "https://manhwaland.us", "id", isNsfw = true, className = "ManhwaLandMom", overrideVersionCode = 4),
|
||||||
@ -124,6 +125,7 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
|
|||||||
SingleLang("SummerToon", "https://summertoon.com", "tr"),
|
SingleLang("SummerToon", "https://summertoon.com", "tr"),
|
||||||
SingleLang("Surya Scans", "https://suryascans.com", "en"),
|
SingleLang("Surya Scans", "https://suryascans.com", "en"),
|
||||||
SingleLang("Sushi-Scan", "https://sushiscan.net", "fr", className = "SushiScan", overrideVersionCode = 6),
|
SingleLang("Sushi-Scan", "https://sushiscan.net", "fr", className = "SushiScan", overrideVersionCode = 6),
|
||||||
|
SingleLang("Sushiscan.fr", "https://sushiscan.fr", "fr", className = "SushiScanFR"),
|
||||||
SingleLang("Tarot Scans", "https://www.tarotscans.com", "tr"),
|
SingleLang("Tarot Scans", "https://www.tarotscans.com", "tr"),
|
||||||
SingleLang("TenkaiScan", "https://tenkaiscan.net", "es", isNsfw = true),
|
SingleLang("TenkaiScan", "https://tenkaiscan.net", "es", isNsfw = true),
|
||||||
SingleLang("Tenshi.id", "https://tenshi.id", "id", className = "TenshiId", pkgName = "masterkomik", overrideVersionCode = 3),
|
SingleLang("Tenshi.id", "https://tenshi.id", "id", className = "TenshiId", pkgName = "masterkomik", overrideVersionCode = 3),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user