Add Legion Scan (#11799)

* Add Legion Scan

* Rollback bump base version + change icons
This commit is contained in:
nzoba 2022-05-11 20:52:11 +02:00 committed by GitHub
parent 5a9393f6fd
commit 6f2beccf61
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 60 additions and 49 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

View File

@ -0,0 +1,11 @@
package eu.kanade.tachiyomi.extension.es.legionscan
import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader
import java.text.SimpleDateFormat
import java.util.Locale
class LegionScan : WPMangaReader("Legion Scan", "https://legionscans.com", "es", dateFormat = SimpleDateFormat("MMMM dd, yyyy", Locale("es"))) {
override val seriesTypeSelector = ".imptdt:contains(Tipo) :last-child"
override val seriesStatusSelector = ".tsinfo .imptdt:contains(Estado) i"
}

View File

@ -157,21 +157,13 @@ abstract class WPMangaReader(
// manga details
override fun mangaDetailsParse(document: Document) = SManga.create().apply {
author = document.select(".listinfo li:contains(Author), .tsinfo .imptdt:nth-child(4) i, .infotable tr:contains(author) td:last-child")
.firstOrNull()?.ownText()
artist = document.select(".infotable tr:contains(artist) td:last-child, .tsinfo .imptdt:contains(artist) i")
.firstOrNull()?.ownText()
genre = document.select("div.gnr a, .mgen a, .seriestugenre a").joinToString { it.text() }
status = parseStatus(
document.select("div.listinfo li:contains(Status), .tsinfo .imptdt:contains(status), .tsinfo .imptdt:contains(الحالة), .infotable tr:contains(status) td")
.text()
)
title = document.selectFirst("h1.entry-title").text()
thumbnail_url = document.select(".infomanga > div[itemprop=image] img, .thumb img").attr("abs:src")
description = document.select(".desc, .entry-content[itemprop=description]").joinToString("\n") { it.text() }
author = document.select(seriesAuthorSelector).firstOrNull()?.ownText()
artist = document.select(seriesArtistSelector).firstOrNull()?.ownText()
genre = document.select(seriesGenreSelector).joinToString { it.text() }
status = parseStatus(document.select(seriesStatusSelector).text())
title = document.selectFirst(seriesTitleSelector).text()
thumbnail_url = document.select(seriesThumbnailSelector).attr("abs:src")
description = document.select(seriesDescriptionSelector).joinToString("\n") { it.text() }
// add series type(manga/manhwa/manhua/other) thinggy to genre
document.select(seriesTypeSelector).firstOrNull()?.ownText()?.let {
@ -191,6 +183,13 @@ abstract class WPMangaReader(
}
}
open val seriesAuthorSelector = ".listinfo li:contains(Author), .tsinfo .imptdt:nth-child(4) i, .infotable tr:contains(author) td:last-child"
open val seriesArtistSelector = ".infotable tr:contains(artist) td:last-child, .tsinfo .imptdt:contains(artist) i"
open val seriesGenreSelector = "div.gnr a, .mgen a, .seriestugenre a"
open val seriesStatusSelector = "div.listinfo li:contains(Status), .tsinfo .imptdt:contains(status), .tsinfo .imptdt:contains(الحالة), .infotable tr:contains(status) td"
open val seriesTitleSelector = "h1.entry-title"
open val seriesThumbnailSelector = ".infomanga > div[itemprop=image] img, .thumb img"
open val seriesDescriptionSelector = ".desc, .entry-content[itemprop=description]"
open val seriesTypeSelector = "span:contains(Type) a, .imptdt:contains(Type) :last-child, a[href*=type\\=], .infotable tr:contains(Type) td:last-child"
open val altNameSelector = ".alternative, .seriestualt"
open val altName = "Alternative Name" + ": "

View File

@ -14,47 +14,48 @@ class WPMangaReaderGenerator : ThemeSourceGenerator {
override val sources = listOf(
MultiLang("Flame Scans", "https://flamescans.org", listOf("ar", "en"), className = "FlameScansFactory", pkgName = "flamescans", overrideVersionCode = 1),
SingleLang("Anitation Arts", "https://anitationarts.org", "en", overrideVersionCode = 1),
SingleLang("Ace Scans", "https://acescans.xyz", "en", isNsfw = true, overrideVersionCode = 1),
SingleLang("Alpha Scans", "https://alpha-scans.org", "en", overrideVersionCode = 1),
SingleLang("Anitation Arts", "https://anitationarts.org", "en", overrideVersionCode = 1),
SingleLang("Arcane scan", "https://arcanescan.fr", "fr"),
SingleLang("Azure Scans", "https://azuremanga.com", "en", overrideVersionCode = 1),
SingleLang("BeastScans", "https://beastscans.com", "en"),
SingleLang("iiMANGA", "https://aresmanga.com", "ar", overrideVersionCode = 1),
SingleLang("Magus Manga", "https://magusmanga.com", "ar"),
SingleLang("Kiryuu", "https://kiryuu.id", "id", overrideVersionCode = 6),
SingleLang("KomikMama", "https://komikmama.net", "id"),
SingleLang("MangaKita", "https://mangakita.net", "id", overrideVersionCode = 1),
SingleLang("Gabut Scans", "https://gabutscans.com", "id"),
SingleLang("Graze Scans", "https://grazescans.com", "en", overrideVersionCode = 2),
SingleLang("Mangás Chan", "https://mangaschan.com", "pt-BR", className = "MangasChan"),
SingleLang("Martial Manga", "https://martialmanga.com", "es"),
SingleLang("Mode Scanlator", "https://modescanlator.com", "pt-BR", overrideVersionCode = 7),
SingleLang("Ngomik", "https://ngomik.net", "id", overrideVersionCode = 1),
SingleLang("MangKomik", "https://mangkomik.com", "id"),
SingleLang("Sekaikomik", "https://www.sekaikomik.site", "id", isNsfw = true, overrideVersionCode = 8),
SingleLang("Sekaikomik", "https://www.sekaikomik.live", "id", isNsfw = true, overrideVersionCode = 9),
SingleLang("Davey Scans", "https://daveyscans.com", "id", overrideVersionCode = 1),
SingleLang("Franxx Mangás", "https://franxxmangas.net", "pt-BR", className = "FranxxMangas", isNsfw = true),
SingleLang("Fusion Scanlation", "https://fusionscanlation.com", "es", className = "FusionScanlation", overrideVersionCode = 2),
SingleLang("Gabut Scans", "https://gabutscans.com", "id"),
SingleLang("Gecenin Lordu", "https://geceninlordu.com", "tr", overrideVersionCode = 1),
SingleLang("Graze Scans", "https://grazescans.com", "en", overrideVersionCode = 2),
SingleLang("Kiryuu", "https://kiryuu.id", "id", overrideVersionCode = 6),
SingleLang("Komik Lab", "https://komiklab.com", "id"),
SingleLang("KomikMama", "https://komikmama.net", "id"),
SingleLang("Legion Scan", "https://legionscans.com", "es"),
SingleLang("Magus Manga", "https://magusmanga.com", "ar"),
SingleLang("MangKomik", "https://mangkomik.com", "id"),
SingleLang("MangaKita", "https://mangakita.net", "id", overrideVersionCode = 1),
SingleLang("Mangasusu", "https://mangasusu.co.in", "id", isNsfw = true, overrideVersionCode = 1),
SingleLang("Mangás Chan", "https://mangaschan.com", "pt-BR", className = "MangasChan"),
SingleLang("Manhua Raw", "https://manhuaraw.com", "en"),
SingleLang("ManhwaIndo", "https://manhwaindo.id", "id", isNsfw = true),
SingleLang("TurkToon", "https://turktoon.com", "tr"),
SingleLang("Gecenin Lordu", "https://geceninlordu.com", "tr", overrideVersionCode = 1),
SingleLang("PMScans", "http://www.rackusreader.org", "en", overrideVersionCode = 2),
SingleLang("Realm Scans", "https://realmscans.com", "en", overrideVersionCode = 3),
SingleLang("Skull Scans", "https://www.skullscans.com", "en", overrideVersionCode = 1),
SingleLang("Shooting Star Scans", "https://shootingstarscans.com", "en", overrideVersionCode = 3),
SingleLang("Azure Scans", "https://azuremanga.com", "en", overrideVersionCode = 1),
SingleLang("Patatescans", "https://patatescans.com", "fr", isNsfw = true, overrideVersionCode = 2),
SingleLang("Fusion Scanlation", "https://fusionscanlation.com", "es", className = "FusionScanlation", overrideVersionCode = 2),
SingleLang("Ace Scans", "https://acescans.xyz", "en", isNsfw = true, overrideVersionCode = 1),
SingleLang("Silence Scan", "https://silencescan.com.br", "pt-BR", isNsfw = true, overrideVersionCode = 5),
SingleLang("YANP Fansub", "https://melhorcasal.com", "pt-BR", isNsfw = true, overrideVersionCode = 1),
SingleLang("World Romance Translation", "https://wrt.my.id", "id", overrideVersionCode = 7),
SingleLang("Ozul Scans", "https://ozulscans.com", "ar"),
SingleLang("Tsundoku Traduções", "https://tsundoku.com.br", "pt-BR", className = "TsundokuTraducoes", overrideVersionCode = 9),
SingleLang("Komik Lab", "https://komiklab.com", "id"),
SingleLang("Arcane scan", "https://arcanescan.fr", "fr"),
SingleLang("Franxx Mangás", "https://franxxmangas.net", "pt-BR", className = "FranxxMangas", isNsfw = true),
SingleLang("Origami Orpheans", "https://origami-orpheans.com.br", "pt-BR", overrideVersionCode = 9),
SingleLang("Martial Manga", "https://martialmanga.com", "es"),
SingleLang("Miau Scan", "https://miauscan.com", "es"),
SingleLang("Mode Scanlator", "https://modescanlator.com", "pt-BR", overrideVersionCode = 7),
SingleLang("Ngomik", "https://ngomik.net", "id", overrideVersionCode = 1),
SingleLang("Origami Orpheans", "https://origami-orpheans.com.br", "pt-BR", overrideVersionCode = 9),
SingleLang("Ozul Scans", "https://ozulscans.com", "ar"),
SingleLang("PMScans", "http://www.rackusreader.org", "en", overrideVersionCode = 2),
SingleLang("Patatescans", "https://patatescans.com", "fr", isNsfw = true, overrideVersionCode = 2),
SingleLang("Realm Scans", "https://realmscans.com", "en", overrideVersionCode = 3),
SingleLang("Sekaikomik", "https://www.sekaikomik.live", "id", isNsfw = true, overrideVersionCode = 9),
SingleLang("Sekaikomik", "https://www.sekaikomik.site", "id", isNsfw = true, overrideVersionCode = 8),
SingleLang("Shooting Star Scans", "https://shootingstarscans.com", "en", overrideVersionCode = 3),
SingleLang("Silence Scan", "https://silencescan.com.br", "pt-BR", isNsfw = true, overrideVersionCode = 5),
SingleLang("Skull Scans", "https://www.skullscans.com", "en", overrideVersionCode = 1),
SingleLang("Tsundoku Traduções", "https://tsundoku.com.br", "pt-BR", className = "TsundokuTraducoes", overrideVersionCode = 9),
SingleLang("TurkToon", "https://turktoon.com", "tr"),
SingleLang("World Romance Translation", "https://wrt.my.id", "id", overrideVersionCode = 7),
SingleLang("YANP Fansub", "https://melhorcasal.com", "pt-BR", isNsfw = true, overrideVersionCode = 1),
SingleLang("iiMANGA", "https://aresmanga.com", "ar", overrideVersionCode = 1),
)
companion object {