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
4
.github/workflows/issue_closer.yml
vendored
@ -32,13 +32,13 @@ jobs:
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "both",
|
"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,
|
"ignoreCase": true,
|
||||||
"message": "{match} will not be added back as it is too difficult to maintain. Read #3475 for more information"
|
"message": "{match} will not be added back as it is too difficult to maintain. Read #3475 for more information"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"type": "both",
|
"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,
|
"ignoreCase": true,
|
||||||
"message": "{match} will not be added back as the Scanlator team has requested it to be removed. Read #3475 for more information"
|
"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 baseVersionCode: Int = 2
|
||||||
|
|
||||||
override val sources = listOf(
|
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 Season", "https://hentaiseason.com", "pt-BR", isNsfw = true),
|
||||||
SingleLang("Hentai Tokyo", "https://hentaitokyo.net", "pt-BR", isNsfw = true),
|
SingleLang("Hentai Tokyo", "https://hentaitokyo.net", "pt-BR", isNsfw = true),
|
||||||
SingleLang("Universo Hentai", "https://universohentai.com", "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("Fleur Blanche", "https://fleurscan.com", "pt-BR", isNsfw = true),
|
||||||
SingleLang("Free Manga", "https://freemanga.me", "en", isNsfw = true, overrideVersionCode = 2),
|
SingleLang("Free Manga", "https://freemanga.me", "en", isNsfw = true, overrideVersionCode = 2),
|
||||||
SingleLang("FreeWebtoonCoins", "https://freewebtooncoins.com", "en", overrideVersionCode = 1),
|
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("Fug Manga", "https://fugmanga.net", "ar"),
|
||||||
SingleLang("Fukushuu no Yuusha", "https://fny-scantrad.com", "fr", overrideVersionCode = 2),
|
SingleLang("Fukushuu no Yuusha", "https://fny-scantrad.com", "fr", overrideVersionCode = 2),
|
||||||
SingleLang("Furio Scans", "https://furioscans.com", "pt-BR", overrideVersionCode = 4),
|
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("Gatemanga", "https://gatemanga.com", "ar"),
|
||||||
SingleLang("Gemanga", "https://gemanga.com", "ar"),
|
SingleLang("Gemanga", "https://gemanga.com", "ar"),
|
||||||
SingleLang("Glory Scans", "https://gloryscan.com", "pt-BR", isNsfw = true, overrideVersionCode = 2),
|
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("Skull Scans", "https://www.skullscans.com", "en"),
|
||||||
SingleLang("Shimada Scans", "https://shimadascans.com", "en"),
|
SingleLang("Shimada Scans", "https://shimadascans.com", "en"),
|
||||||
SingleLang("Shooting Star Scans", "https://shootingstarscans.com", "en", overrideVersionCode = 3),
|
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("Azure Scans", "https://azuremanga.com", "en"),
|
||||||
SingleLang("ReaperScans.fr (GS)", "https://reaperscans.fr", "fr", className = "ReaperScansFR", pkgName = "gsnation", overrideVersionCode = 2),
|
SingleLang("ReaperScans.fr (GS)", "https://reaperscans.fr", "fr", className = "ReaperScansFR", pkgName = "gsnation", overrideVersionCode = 2),
|
||||||
SingleLang("YugenMangas", "https://yugenmangas.com", "es"),
|
SingleLang("YugenMangas", "https://yugenmangas.com", "es"),
|
||||||
|