Daily Update Portugues (#447)
* Hipercool change url * Fix Url HiperCool * Arkham Scan -> HuntersScan (Fusion) * CeriseScans Change Url * animaregia (Down) * SssScanlatorHentai (is closed) * Update multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com> * Update multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/madara/MadaraGenerator.kt Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com> --------- Co-authored-by: Vetle Ledaal <vetle.ledaal@gmail.com>
This commit is contained in:
parent
11e66824c4
commit
ee11eaa24f
@ -13,7 +13,7 @@ import java.util.concurrent.TimeUnit
|
||||
|
||||
class CeriseScan : Madara(
|
||||
"Cerise Scan",
|
||||
"https://cerisescan.com",
|
||||
"https://cerisescan.net",
|
||||
"pt-BR",
|
||||
SimpleDateFormat("dd 'de' MMMMM 'de' yyyy", Locale("pt", "BR")),
|
||||
) {
|
||||
|
@ -5,7 +5,7 @@ import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
||||
import okhttp3.OkHttpClient
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class Hipercool : Madara("HipercooL", "https://hipercool.xyz", "pt-BR") {
|
||||
class Hipercool : Madara("HipercooL", "https://hiper.cool", "pt-BR") {
|
||||
|
||||
// Migrated from a custom CMS to Madara.
|
||||
override val versionId = 2
|
||||
|
@ -1,22 +0,0 @@
|
||||
package eu.kanade.tachiyomi.extension.pt.arkhamscan
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
|
||||
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
||||
import okhttp3.OkHttpClient
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class ArkhamScan : MangaThemesia(
|
||||
"Arkham Scan",
|
||||
"https://arkhamscan.com",
|
||||
"pt-BR",
|
||||
dateFormat = SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")),
|
||||
) {
|
||||
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.rateLimit(1, 2, TimeUnit.SECONDS)
|
||||
.build()
|
||||
|
||||
override val altNamePrefix = "Nomes alternativos: "
|
||||
}
|
@ -1,36 +0,0 @@
|
||||
package eu.kanade.tachiyomi.extension.pt.ssshentais
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.mangathemesia.MangaThemesia
|
||||
import eu.kanade.tachiyomi.network.GET
|
||||
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
||||
import eu.kanade.tachiyomi.source.model.Page
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Request
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class SssHentais : MangaThemesia(
|
||||
"SSS Hentais",
|
||||
"https://hentais.sssscanlator.com",
|
||||
"pt-BR",
|
||||
dateFormat = SimpleDateFormat("MMMMM dd, yyyy", Locale("pt", "BR")),
|
||||
) {
|
||||
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.rateLimit(1, 2, TimeUnit.SECONDS)
|
||||
.build()
|
||||
|
||||
override fun imageRequest(page: Page): Request {
|
||||
val newHeaders = headersBuilder()
|
||||
.set("Referer", page.url)
|
||||
.set("Accept", "image/avif,image/webp,*/*")
|
||||
.set("Accept-Language", "pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3")
|
||||
.set("Sec-Fetch-Dest", "image")
|
||||
.set("Sec-Fetch-Mode", "no-cors")
|
||||
.set("Sec-Fetch-Site", "same-origin")
|
||||
.build()
|
||||
|
||||
return GET(page.imageUrl!!, newHeaders)
|
||||
}
|
||||
}
|
Binary file not shown.
Before Width: | Height: | Size: 9.2 KiB |
Binary file not shown.
Before Width: | Height: | Size: 4.3 KiB |
Binary file not shown.
Before Width: | Height: | Size: 15 KiB |
Binary file not shown.
Before Width: | Height: | Size: 31 KiB |
Binary file not shown.
Before Width: | Height: | Size: 53 KiB |
@ -1,115 +0,0 @@
|
||||
package eu.kanade.tachiyomi.extension.pt.animaregia
|
||||
|
||||
import eu.kanade.tachiyomi.multisrc.mmrcms.MMRCMS
|
||||
import eu.kanade.tachiyomi.network.interceptor.rateLimit
|
||||
import eu.kanade.tachiyomi.source.model.MangasPage
|
||||
import eu.kanade.tachiyomi.source.model.SChapter
|
||||
import eu.kanade.tachiyomi.source.model.SManga
|
||||
import eu.kanade.tachiyomi.util.asJsoup
|
||||
import okhttp3.OkHttpClient
|
||||
import okhttp3.Response
|
||||
import org.jsoup.nodes.Element
|
||||
import java.text.SimpleDateFormat
|
||||
import java.util.Locale
|
||||
import java.util.concurrent.TimeUnit
|
||||
|
||||
class AnimaRegia : MMRCMS("AnimaRegia", "https://animaregia.net", "pt-BR") {
|
||||
|
||||
override val id: Long = 4378659695320121364
|
||||
|
||||
override val client: OkHttpClient = super.client.newBuilder()
|
||||
.rateLimit(1, 2, TimeUnit.SECONDS)
|
||||
.build()
|
||||
|
||||
// Remove the language tag from the title name.
|
||||
override fun internalMangaParse(response: Response): MangasPage {
|
||||
return super.internalMangaParse(response).let {
|
||||
it.copy(
|
||||
mangas = it.mangas.map { manga ->
|
||||
manga.apply { title = title.removeSuffix(LANGUAGE_SUFFIX) }
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
override fun latestUpdatesFromElement(element: Element, urlSelector: String): SManga? {
|
||||
return super.latestUpdatesFromElement(element, urlSelector)
|
||||
?.apply { title = title.removeSuffix(LANGUAGE_SUFFIX) }
|
||||
}
|
||||
|
||||
override fun gridLatestUpdatesFromElement(element: Element): SManga {
|
||||
return super.gridLatestUpdatesFromElement(element)
|
||||
.apply { title = title.removeSuffix(LANGUAGE_SUFFIX) }
|
||||
}
|
||||
|
||||
// Override searchMangaParse with same body from internalMangaParse since
|
||||
// it can use the other endpoint instead.
|
||||
override fun searchMangaParse(response: Response): MangasPage {
|
||||
return super.searchMangaParse(response).let {
|
||||
it.copy(
|
||||
mangas = it.mangas.map { manga ->
|
||||
manga.apply { title = title.removeSuffix(LANGUAGE_SUFFIX) }
|
||||
},
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
// The website modified the information panel.
|
||||
override fun mangaDetailsParse(response: Response): SManga = SManga.create().apply {
|
||||
val document = response.asJsoup()
|
||||
|
||||
title = document.selectFirst("h1.widget-title")!!.text()
|
||||
thumbnail_url = coverGuess(
|
||||
document.select("div.col-sm-5 img.img-thumbnail").firstOrNull()?.attr("abs:src"),
|
||||
document.location(),
|
||||
)
|
||||
description = document.select("div.row div.well p")!!.text().trim()
|
||||
|
||||
for (element in document.select("div.col-sm-5 ul.list-group li.list-group-item")) {
|
||||
when (element.text().trim().lowercase(BRAZILIAN_LOCALE).substringBefore(":")) {
|
||||
"autor(es)" -> author = element.select("a")
|
||||
.joinToString(", ") { it.text().trim() }
|
||||
"artist(s)" -> artist = element.select("a")
|
||||
.joinToString(", ") { it.text().trim() }
|
||||
"categorias" -> genre = element.select("a")
|
||||
.joinToString(", ") { it.text().trim() }
|
||||
"status" -> status = when (element.select("span.label").text()) {
|
||||
"Completo", "Concluído" -> SManga.COMPLETED
|
||||
"Ativo" -> SManga.ONGOING
|
||||
else -> SManga.UNKNOWN
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
override fun chapterListSelector(): String = "div.row ul.chapters > li"
|
||||
|
||||
override fun chapterListParse(response: Response): List<SChapter> {
|
||||
return response.asJsoup()
|
||||
.select(chapterListSelector())
|
||||
.map { el ->
|
||||
SChapter.create().apply {
|
||||
name = el.select("h5.chapter-title-rtl").text()
|
||||
scanlator = el.select("div.col-md-3 ul li")
|
||||
.joinToString(" & ") { it.text().trim() }
|
||||
date_upload = el.select("div.col-md-4").firstOrNull()
|
||||
?.text()?.removeSuffix("Download")?.toDate() ?: 0L
|
||||
setUrlWithoutDomain(el.select("h5.chapter-title-rtl a").first()!!.attr("href"))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun String.toDate(): Long {
|
||||
return runCatching { DATE_FORMAT.parse(trim())?.time }
|
||||
.getOrNull() ?: 0L
|
||||
}
|
||||
|
||||
companion object {
|
||||
private const val LANGUAGE_SUFFIX = " (pt-br)"
|
||||
private val BRAZILIAN_LOCALE = Locale("pt", "BR")
|
||||
|
||||
private val DATE_FORMAT by lazy {
|
||||
SimpleDateFormat("dd MMM. yyyy", Locale.ENGLISH)
|
||||
}
|
||||
}
|
||||
}
|
@ -66,7 +66,7 @@ class MadaraGenerator : ThemeSourceGenerator {
|
||||
SingleLang("Cat300", "https://cat300.com", "th", isNsfw = true, className = "Cat300", overrideVersionCode = 1),
|
||||
SingleLang("CatOnHeadTranslations", "https://catonhead.com", "en", overrideVersionCode = 2),
|
||||
SingleLang("CBHentai", "https://cbhentai.net", "vi", isNsfw = true, overrideVersionCode = 7, pkgName = "hentaicube", className = "HentaiCB"),
|
||||
SingleLang("Cerise Scan", "https://cerisescan.com", "pt-BR", pkgName = "cerisescans", isNsfw = true, overrideVersionCode = 7),
|
||||
SingleLang("Cerise Scan", "https://cerisescan.net", "pt-BR", pkgName = "cerisescans", isNsfw = true, overrideVersionCode = 8),
|
||||
SingleLang("Clover Manga", "https://clover-manga.com", "tr", overrideVersionCode = 2),
|
||||
SingleLang("Coco Rip", "https://cocorip.net", "es"),
|
||||
SingleLang("Coffee Manga", "https://coffeemanga.io", "en", isNsfw = false, overrideVersionCode = 2),
|
||||
@ -144,7 +144,7 @@ class MadaraGenerator : ThemeSourceGenerator {
|
||||
SingleLang("HentaiZM", "https://manga.hentaizm.fun", "tr", isNsfw = true),
|
||||
SingleLang("HentaiZone", "https://hentaizone.xyz", "fr", isNsfw = true, overrideVersionCode = 1),
|
||||
SingleLang("HerenScan", "https://herenscan.com", "es"),
|
||||
SingleLang("HipercooL", "https://hipercool.xyz", "pt-BR", isNsfw = true, className = "Hipercool"),
|
||||
SingleLang("HipercooL", "https://hiper.cool", "pt-BR", isNsfw = true, className = "Hipercool", overrideVersionCode = 1),
|
||||
SingleLang("Hiperdex", "https://hiperdex.com", "en", isNsfw = true, overrideVersionCode = 11),
|
||||
SingleLang("HistoireDHentai", "https://hhentai.fr", "fr", isNsfw = true),
|
||||
SingleLang("Hizomanga", "https://hizomanga.com", "ar", overrideVersionCode = 1),
|
||||
|
@ -20,7 +20,6 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
|
||||
SingleLang("Alceascan", "https://alceascan.my.id", "id"),
|
||||
SingleLang("Animated Glitched Comics", "https://agscomics.com", "en"),
|
||||
SingleLang("Animated Glitched Scans", "https://anigliscans.xyz", "en", overrideVersionCode = 1),
|
||||
SingleLang("Arkham Scan", "https://arkhamscan.com", "pt-BR"),
|
||||
SingleLang("Arven Scans", "https://arvenscans.com", "en"),
|
||||
SingleLang("AscalonScans", "https://ascalonscans.com", "en"),
|
||||
SingleLang("Asura Scans", "https://asuratoon.com", "en"),
|
||||
@ -143,7 +142,6 @@ class MangaThemesiaGenerator : ThemeSourceGenerator {
|
||||
SingleLang("SkyMangas", "https://skymangas.com", "es", overrideVersionCode = 1),
|
||||
SingleLang("Snudae Scans", "https://snudaescans.com", "en", isNsfw = true, className = "BatotoScans", overrideVersionCode = 1),
|
||||
SingleLang("Soul Scans", "https://soulscans.my.id", "id", overrideVersionCode = 1),
|
||||
SingleLang("SSS Hentais", "https://hentais.sssscanlator.com", "pt-BR", isNsfw = true, className = "SssHentais", overrideVersionCode = 1),
|
||||
SingleLang("SSSScanlator", "https://sssscanlator.com.br", "pt-BR", overrideVersionCode = 2),
|
||||
SingleLang("Starlight Scan", "https://starligthscan.com", "pt-BR", isNsfw = true),
|
||||
SingleLang("Summer Fansub", "https://smmr.in", "pt-BR", isNsfw = true),
|
||||
|
@ -18,7 +18,6 @@ object SourceData {
|
||||
"https://manga.utsukushii-bg.com" -> """{"name":"Utsukushii","base_url":"https://manga.utsukushii-bg.com","supports_latest":true,"item_url":"https://manga.utsukushii-bg.com/manga/","categories":[{"id":"1","name":"Екшън"},{"id":"2","name":"Приключенски"},{"id":"3","name":"Комедия"},{"id":"4","name":"Драма"},{"id":"5","name":"Фентъзи"},{"id":"6","name":"Исторически"},{"id":"7","name":"Ужаси"},{"id":"8","name":"Джосей"},{"id":"9","name":"Бойни изкуства"},{"id":"10","name":"Меха"},{"id":"11","name":"Мистерия"},{"id":"12","name":"Самостоятелна/Пилотна глава"},{"id":"13","name":"Психологически"},{"id":"14","name":"Романтика"},{"id":"15","name":"Училищни"},{"id":"16","name":"Научна фантастика"},{"id":"17","name":"Сейнен"},{"id":"18","name":"Шоджо"},{"id":"19","name":"Реализъм"},{"id":"20","name":"Спорт"},{"id":"21","name":"Свръхестествено"},{"id":"22","name":"Трагедия"},{"id":"23","name":"Йокаи"},{"id":"24","name":"Паралелна вселена"},{"id":"25","name":"Супер сили"},{"id":"26","name":"Пародия"},{"id":"27","name":"Шонен"}]}"""
|
||||
"https://phoenix-scans.pl" -> """{"name":"Phoenix-Scans","base_url":"https://phoenix-scans.pl","supports_latest":true,"item_url":"https://phoenix-scans.pl/manga/","categories":[{"id":"1","name":"Shounen"},{"id":"2","name":"Tragedia"},{"id":"3","name":"Szkolne życie"},{"id":"4","name":"Romans"},{"id":"5","name":"Zagadka"},{"id":"6","name":"Horror"},{"id":"7","name":"Dojrzałe"},{"id":"8","name":"Psychologiczne"},{"id":"9","name":"Przygodowe"},{"id":"10","name":"Akcja"},{"id":"11","name":"Komedia"},{"id":"12","name":"Zboczone"},{"id":"13","name":"Fantasy"},{"id":"14","name":"Harem"},{"id":"15","name":"Historyczne"},{"id":"16","name":"Manhua"},{"id":"17","name":"Manhwa"},{"id":"18","name":"Sztuki walki"},{"id":"19","name":"One shot"},{"id":"20","name":"Sci fi"},{"id":"21","name":"Seinen"},{"id":"22","name":"Shounen ai"},{"id":"23","name":"Spokojne życie"},{"id":"24","name":"Sport"},{"id":"25","name":"Nadprzyrodzone"},{"id":"26","name":"Webtoons"},{"id":"27","name":"Dramat"},{"id":"28","name":"Hentai"},{"id":"29","name":"Mecha"},{"id":"30","name":"Gender Bender"},{"id":"31","name":"Gry"},{"id":"32","name":"Yaoi"}],"tags":[{"id":"aktywne","name":"aktywne"},{"id":"zakonczone","name":"zakończone"},{"id":"porzucone","name":"porzucone"},{"id":"zawieszone","name":"zawieszone"},{"id":"zlicencjonowane","name":"zlicencjonowane"},{"id":"hentai","name":"Hentai"}]}"""
|
||||
"https://lelscanvf.cc" -> """{"name":"Lelscan-VF","base_url":"https://lelscanvf.cc","supports_latest":true,"item_url":"https://lelscanvf.cc/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"}]}"""
|
||||
"https://animaregia.net" -> """{"name":"AnimaRegia","base_url":"https://animaregia.net","supports_latest":true,"item_url":"http://animaregia.net/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"}]}"""
|
||||
"https://mangaid.click" -> """{"name":"MangaID","base_url":"https://mangaid.click","supports_latest":true,"item_url":"https://mangaid.click/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"Psychological"},{"id":"18","name":"Romance"},{"id":"19","name":"School Life"},{"id":"20","name":"Sci-fi"},{"id":"21","name":"Seinen"},{"id":"22","name":"Shoujo"},{"id":"23","name":"Shoujo Ai"},{"id":"24","name":"Shounen"},{"id":"25","name":"Shounen Ai"},{"id":"26","name":"Slice of Life"},{"id":"27","name":"Sports"},{"id":"28","name":"Supernatural"},{"id":"29","name":"Tragedy"},{"id":"30","name":"Yaoi"},{"id":"31","name":"Yuri"},{"id":"32","name":"School"},{"id":"33","name":"Isekai"},{"id":"34","name":"Military"}]}"""
|
||||
"https://jpmangas.xyz" -> """{"name":"Jpmangas","base_url":"https://jpmangas.xyz","supports_latest":true,"item_url":"https://jpmangas.xyz/manga/","categories":[{"id":"1","name":"Action"},{"id":"2","name":"Adventure"},{"id":"3","name":"Comedy"},{"id":"4","name":"Doujinshi"},{"id":"5","name":"Drama"},{"id":"6","name":"Ecchi"},{"id":"7","name":"Fantasy"},{"id":"8","name":"Gender Bender"},{"id":"9","name":"Harem"},{"id":"10","name":"Historical"},{"id":"11","name":"Horror"},{"id":"12","name":"Josei"},{"id":"13","name":"Martial Arts"},{"id":"14","name":"Mature"},{"id":"15","name":"Mecha"},{"id":"16","name":"Mystery"},{"id":"17","name":"One Shot"},{"id":"18","name":"Psychological"},{"id":"19","name":"Romance"},{"id":"20","name":"School Life"},{"id":"21","name":"Sci-fi"},{"id":"22","name":"Seinen"},{"id":"23","name":"Shoujo"},{"id":"24","name":"Shoujo Ai"},{"id":"25","name":"Shounen"},{"id":"26","name":"Shounen Ai"},{"id":"27","name":"Slice of Life"},{"id":"28","name":"Sports"},{"id":"29","name":"Supernatural"},{"id":"30","name":"Tragedy"},{"id":"31","name":"Yaoi"},{"id":"32","name":"Yuri"}]}"""
|
||||
"https://www.hentaishark.com" -> """{"name":"HentaiShark","base_url":"https://www.hentaishark.com","supports_latest":true,"item_url":"https://www.hentaishark.com/manga/","categories":[{"id":"1","name":"Doujinshi"},{"id":"2","name":"Manga"},{"id":"3","name":"Western"},{"id":"4","name":"non-h"},{"id":"5","name":"imageset"},{"id":"6","name":"artistcg"},{"id":"7","name":"misc"}]}"""
|
||||
|
Loading…
x
Reference in New Issue
Block a user