Remove more sources (#10001)
* rm Hentai Kai pt-br source * remove fudidoscans pt-br source * remove luminousScans (EN) as per scanlator request * remove galaxydegenscans en source site has been 404ing for a while and it was noted in #support that theyre shutting down their website and will be back to uploading to bato and mangadex * add hentaikai to issue closer too difficult to maintain * add luminous scan to issue closer was removed as per scanlator request
|
@ -32,13 +32,13 @@ jobs:
|
|||
},
|
||||
{
|
||||
"type": "both",
|
||||
"regex": ".*(mangago|mangafox|hq\\s*dragon|manga\\s*host|supermangas|superhentais|union\\s*mangas|yes\\s*mangas|manhuascan|heroscan|manhwahot|leitor\\.?net|manga\\s*livre|tsuki\\s*mangas|manga\\s*yabu|mangas\\.in|mangas\\.pw).*",
|
||||
"regex": ".*(mangago|mangafox|hq\\s*dragon|manga\\s*host|supermangas|superhentais|union\\s*mangas|yes\\s*mangas|manhuascan|heroscan|manhwahot|leitor\\.?net|manga\\s*livre|tsuki\\s*mangas|manga\\s*yabu|mangas\\.in|mangas\\.pw|hentaikai).*",
|
||||
"ignoreCase": true,
|
||||
"message": "{match} will not be added back as it is too difficult to maintain. Read #3475 for more information"
|
||||
},
|
||||
{
|
||||
"type": "both",
|
||||
"regex": ".*(teamx|tqneplus|manga\\s*disk|komiktap|gourmet\\s*scans|manga\\s*crimson|mangawow|voidscans|hikari\\s*scans|mangagegecesi|piedpiperfb|knightnoscanlations|ahstudios|mangagecesi|nartag|xxx\\s*yaoi|yaoi\\s*fan\\s*clube).*",
|
||||
"regex": ".*(teamx|tqneplus|manga\\s*disk|komiktap|gourmet\\s*scans|manga\\s*crimson|mangawow|voidscans|hikari\\s*scans|mangagegecesi|piedpiperfb|knightnoscanlations|ahstudios|mangagecesi|nartag|xxx\\s*yaoi|yaoi\\s*fan\\s*clube|luminous).*",
|
||||
"ignoreCase": true,
|
||||
"message": "{match} will not be added back as the Scanlator team has requested it to be removed. Read #3475 for more information"
|
||||
}
|
||||
|
|
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 9.4 KiB |
Before Width: | Height: | Size: 38 KiB |
|
@ -1,41 +0,0 @@
|
|||
package eu.kanade.tachiyomi.extension.pt.hentaikai
|
||||
|
||||
import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor
|
||||
import eu.kanade.tachiyomi.multisrc.gattsu.Gattsu
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import org.jsoup.nodes.Element
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class HentaiKai : Gattsu(
|
||||
"Hentai Kai",
|
||||
"https://hentaikai.com",
|
||||
"pt-BR"
|
||||
) {
|
||||
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 2, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override fun latestUpdatesRequest(page: Int): Request {
|
||||
val pagePath = if (page > 1) "page/$page" else ""
|
||||
|
||||
return GET("$baseUrl/mangas-e-hqs-recentes/$pagePath", headers)
|
||||
}
|
||||
|
||||
override fun latestUpdatesSelector() =
|
||||
"div.meio div#fotos div.listaFotoConteudo > a[href^=$baseUrl]:not([title*=Episódio]):first-of-type"
|
||||
|
||||
override fun latestUpdatesFromElement(element: Element): SManga = SManga.create().apply {
|
||||
title = element.attr("title")
|
||||
thumbnail_url =
|
||||
element.select("span.listaFotoThumb img.wp-post-image").first()!!.attr("src")
|
||||
setUrlWithoutDomain(element.attr("href"))
|
||||
}
|
||||
|
||||
override fun latestUpdatesNextPageSelector() = "div.meio div#fotos ul.paginacao li.next > a"
|
||||
|
||||
override fun searchMangaSelector() = "div.meio div.lista div.listaFotoConteudo > a[href^=$baseUrl]:not([title*=Episódio]):first-of-type"
|
||||
}
|
Before Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 252 KiB |
|
@ -1,69 +0,0 @@
|
|||
package eu.kanade.tachiyomi.extension.pt.fudidoscanlator
|
||||
|
||||
import eu.kanade.tachiyomi.lib.ratelimit.RateLimitInterceptor
|
||||
import eu.kanade.tachiyomi.multisrc.madara.Madara
|
||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Response
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class FudidoScanlator : Madara(
|
||||
"Fudido Scanlator",
|
||||
"https://fudidoscan.com",
|
||||
"pt-BR",
|
||||
SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR"))
|
||||
) {
|
||||
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.addInterceptor(RateLimitInterceptor(1, 2, TimeUnit.SECONDS))
|
||||
.build()
|
||||
|
||||
override fun popularMangaSelector() = "div.page-item-detail.manga"
|
||||
|
||||
// The source has novels in text format, so we need to filter them.
|
||||
override fun searchMangaParse(response: Response): MangasPage {
|
||||
val mangaPage = super.searchMangaParse(response)
|
||||
val filteredResult = mangaPage.mangas.filter { it.title.contains(NOVEL_REGEX).not() }
|
||||
|
||||
return MangasPage(filteredResult, mangaPage.hasNextPage)
|
||||
}
|
||||
|
||||
// [...document.querySelectorAll('div.genres li a')]
|
||||
// .map(x => `Genre("${x.innerText.slice(1, -4)}", "${x.href.replace(/.*-genre\/(.*)\//, '$1')}")`)
|
||||
// .join(',\n')
|
||||
override fun getGenreList(): List<Genre> = listOf(
|
||||
Genre("Ação", "acao"),
|
||||
Genre("Artes Marciais", "artes-marciais"),
|
||||
Genre("Aventura", "aventura"),
|
||||
Genre("Comédia", "comedia"),
|
||||
Genre("Drama", "drama"),
|
||||
Genre("Ecchi", "ecchi"),
|
||||
Genre("Escolar", "escolar"),
|
||||
Genre("Fantasia ", "fantasia"),
|
||||
Genre("Ficção", "ficcao"),
|
||||
Genre("Harém", "harem"),
|
||||
Genre("Horror", "horror"),
|
||||
Genre("Isekai", "isekai"),
|
||||
Genre("Josei", "josei"),
|
||||
Genre("Magia ", "magia"),
|
||||
Genre("Mistério", "misterio"),
|
||||
Genre("Protagonista badass", "protagonista-badass"),
|
||||
Genre("Psicológico", "psicologico"),
|
||||
Genre("Romance", "romance"),
|
||||
Genre("Seinen", "seinen"),
|
||||
Genre("Shoujo", "shoujo"),
|
||||
Genre("Shounen", "shounen"),
|
||||
Genre("Slice of Life", "slice-of-life"),
|
||||
Genre("Sobrenatural", "sobrenatural"),
|
||||
Genre("Super Poderes", "super-poderes"),
|
||||
Genre("Suspense", "suspense"),
|
||||
Genre("Yaoi", "yaoi"),
|
||||
Genre("Yuri", "yuri")
|
||||
)
|
||||
|
||||
companion object {
|
||||
private val NOVEL_REGEX = "novel|livro".toRegex(RegexOption.IGNORE_CASE)
|
||||
}
|
||||
}
|
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 7.3 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 110 KiB |
Before Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 94 KiB |
|
@ -1,5 +0,0 @@
|
|||
package eu.kanade.tachiyomi.extension.en.luminousscans
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.wpmangareader.WPMangaReader
|
||||
|
||||
class LuminousScans : WPMangaReader("Luminous Scans", "https://www.luminousscans.com", "en", mangaUrlDirectory = "/series")
|
|
@ -12,7 +12,6 @@ class GattsuGenerator : ThemeSourceGenerator {
|
|||
override val baseVersionCode: Int = 2
|
||||
|
||||
override val sources = listOf(
|
||||
SingleLang("Hentai Kai", "https://hentaikai.com", "pt-BR", isNsfw = true),
|
||||
SingleLang("Hentai Season", "https://hentaiseason.com", "pt-BR", isNsfw = true),
|
||||
SingleLang("Hentai Tokyo", "https://hentaitokyo.net", "pt-BR", isNsfw = true),
|
||||
SingleLang("Universo Hentai", "https://universohentai.com", "pt-BR", isNsfw = true)
|
||||
|
|
|
@ -86,11 +86,9 @@ class MadaraGenerator : ThemeSourceGenerator {
|
|||
SingleLang("Fleur Blanche", "https://fleurscan.com", "pt-BR", isNsfw = true),
|
||||
SingleLang("Free Manga", "https://freemanga.me", "en", isNsfw = true, overrideVersionCode = 2),
|
||||
SingleLang("FreeWebtoonCoins", "https://freewebtooncoins.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("Fudido Scanlator", "https://fudidoscan.com", "pt-BR", isNsfw = true, overrideVersionCode = 2),
|
||||
SingleLang("Fug Manga", "https://fugmanga.net", "ar"),
|
||||
SingleLang("Fukushuu no Yuusha", "https://fny-scantrad.com", "fr", overrideVersionCode = 2),
|
||||
SingleLang("Furio Scans", "https://furioscans.com", "pt-BR", overrideVersionCode = 4),
|
||||
SingleLang("GalaxyDegenScans", "https://gdscan.xyz", "en", overrideVersionCode = 2),
|
||||
SingleLang("Gatemanga", "https://gatemanga.com", "ar"),
|
||||
SingleLang("Gemanga", "https://gemanga.com", "ar"),
|
||||
SingleLang("Glory Scans", "https://gloryscan.com", "pt-BR", isNsfw = true, overrideVersionCode = 2),
|
||||
|
|
|
@ -38,7 +38,6 @@ class WPMangaReaderGenerator : ThemeSourceGenerator {
|
|||
SingleLang("Skull Scans", "https://www.skullscans.com", "en"),
|
||||
SingleLang("Shimada Scans", "https://shimadascans.com", "en"),
|
||||
SingleLang("Shooting Star Scans", "https://shootingstarscans.com", "en", overrideVersionCode = 3),
|
||||
SingleLang("Luminous Scans", "https://www.luminousscans.com", "en", overrideVersionCode = 1),
|
||||
SingleLang("Azure Scans", "https://azuremanga.com", "en"),
|
||||
SingleLang("ReaperScans.fr (GS)", "https://reaperscans.fr", "fr", className = "ReaperScansFR", pkgName = "gsnation", overrideVersionCode = 2),
|
||||
SingleLang("YugenMangas", "https://yugenmangas.com", "es"),
|
||||
|
|