Update language in Brazilian sources. (#2860)

This commit is contained in:
Alessandro Jean 2020-04-26 23:28:23 -03:00 committed by GitHub
parent a2fa6231f0
commit 42ad92bbff
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 101 additions and 67 deletions

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: FoolSlide (multiple sources)' appName = 'Tachiyomi: FoolSlide (multiple sources)'
pkgNameSuffix = 'all.foolslide' pkgNameSuffix = 'all.foolslide'
extClass = '.FoolSlideFactory' extClass = '.FoolSlideFactory'
extVersionCode = 40 extVersionCode = 41
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -142,7 +142,10 @@ class KirishimaFansub : FoolSlide("Kirishima Fansub", "https://kirishimafansub.n
class PowerMangaIT : FoolSlide("PowerManga", "https://reader.powermanga.org", "it", "") class PowerMangaIT : FoolSlide("PowerManga", "https://reader.powermanga.org", "it", "")
class BaixarHentai : FoolSlide("Baixar Hentai", "https://leitura.baixarhentai.net", "pt") { class BaixarHentai : FoolSlide("Baixar Hentai", "https://leitura.baixarhentai.net", "pt-BR") {
// Hardcode the id because the language wasn't specific.
override val id: Long = 8908032188831949972
override fun mangaDetailsParse(document: Document): SManga { override fun mangaDetailsParse(document: Document): SManga {
return SManga.create().apply { return SManga.create().apply {
title = document.select("h1.title").text() title = document.select("h1.title").text()

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: NOISE Manga' appName = 'Tachiyomi: NOISE Manga'
pkgNameSuffix = 'all.noisemanga' pkgNameSuffix = 'all.noisemanga'
extClass = '.NoiseMangaFactory' extClass = '.NoiseMangaFactory'
extVersionCode = 1 extVersionCode = 2
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -72,7 +72,7 @@ abstract class NoiseManga(override val lang: String) : ParsedHttpSource() {
override fun chapterListRequest(manga: SManga): Request = GET(baseUrl + manga.url, headers) override fun chapterListRequest(manga: SManga): Request = GET(baseUrl + manga.url, headers)
override fun chapterListSelector(): String { override fun chapterListSelector(): String {
val columnSelector = if (lang == "pt") 1 else 2 val columnSelector = if (lang == "pt-BR") 1 else 2
return "div.entry-content div table tr td:nth-child($columnSelector) a" return "div.entry-content div table tr td:nth-child($columnSelector) a"
} }
@ -108,6 +108,6 @@ abstract class NoiseManga(override val lang: String) : ParsedHttpSource() {
override fun latestUpdatesNextPageSelector() = throw Exception("This method should not be called!") override fun latestUpdatesNextPageSelector() = throw Exception("This method should not be called!")
companion object { companion object {
private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36" private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
} }
} }

View File

@ -11,4 +11,8 @@ class NoiseMangaFactory : SourceFactory {
} }
class NoiseMangaEnglish : NoiseManga("en") class NoiseMangaEnglish : NoiseManga("en")
class NoiseMangaPortuguese : NoiseManga("pt")
class NoiseMangaPortuguese : NoiseManga("pt-BR") {
// Hardcode the id because the language wasn't specific.
override val id: Long = 8279458690164834090
}

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Toomics' appName = 'Tachiyomi: Toomics'
pkgNameSuffix = 'all.toomics' pkgNameSuffix = 'all.toomics'
extClass = '.ToomicsFactory' extClass = '.ToomicsFactory'
extVersionCode = 3 extVersionCode = 4
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -27,4 +27,8 @@ class ToomicsSpanish : ToomicsGlobal("es", SimpleDateFormat("d MMM, yyyy", Local
class ToomicsItalian : ToomicsGlobal("it", SimpleDateFormat("d MMM, yyyy", Locale.ITALIAN)) class ToomicsItalian : ToomicsGlobal("it", SimpleDateFormat("d MMM, yyyy", Locale.ITALIAN))
class ToomicsGerman : ToomicsGlobal("de", SimpleDateFormat("d. MMM yyyy", Locale.GERMAN)) class ToomicsGerman : ToomicsGlobal("de", SimpleDateFormat("d. MMM yyyy", Locale.GERMAN))
class ToomicsFrench : ToomicsGlobal("fr", SimpleDateFormat("dd MMM. yyyy", Locale.ENGLISH)) class ToomicsFrench : ToomicsGlobal("fr", SimpleDateFormat("dd MMM. yyyy", Locale.ENGLISH))
class ToomicsPortuguese : ToomicsGlobal("por", SimpleDateFormat("d 'de' MMM 'de' yyyy", Locale("pt", "BR")), "pt")
class ToomicsPortuguese : ToomicsGlobal("por", SimpleDateFormat("d 'de' MMM 'de' yyyy", Locale("pt", "BR")), "pt-BR") {
// Hardcode the id because the language wasn't specific.
override val id: Long = 4488498756724948818
}

View File

@ -160,6 +160,6 @@ abstract class ToomicsGlobal(
} }
companion object { companion object {
private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36" private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
} }
} }

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: AnimaRegia' appName = 'Tachiyomi: AnimaRegia'
pkgNameSuffix = 'pt.animaregia' pkgNameSuffix = 'pt.animaregia'
extClass = '.AnimaRegia' extClass = '.AnimaRegia'
extVersionCode = 1 extVersionCode = 2
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -24,11 +24,14 @@ import org.jsoup.nodes.Element
class AnimaRegia : ParsedHttpSource() { class AnimaRegia : ParsedHttpSource() {
// Hardcode the id because the language wasn't specific.
override val id: Long = 4378659695320121364
override val name = "AnimaRegia" override val name = "AnimaRegia"
override val baseUrl = "https://animaregia.net" override val baseUrl = "https://animaregia.net"
override val lang = "pt" override val lang = "pt-BR"
override val supportsLatest = true override val supportsLatest = true
@ -170,7 +173,7 @@ class AnimaRegia : ParsedHttpSource() {
private fun Response.asJsonObject(): JsonObject = JSON_PARSER.parse(body()!!.string()).obj private fun Response.asJsonObject(): JsonObject = JSON_PARSER.parse(body()!!.string()).obj
companion object { companion object {
private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36" private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
private val JSON_PARSER by lazy { JsonParser() } private val JSON_PARSER by lazy { JsonParser() }
} }
} }

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Central de Mangás' appName = 'Tachiyomi: Central de Mangás'
pkgNameSuffix = 'pt.centraldemangas' pkgNameSuffix = 'pt.centraldemangas'
extClass = '.CentralDeMangas' extClass = '.CentralDeMangas'
extVersionCode = 2 extVersionCode = 3
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -27,11 +27,14 @@ import rx.Observable
class CentralDeMangas : ParsedHttpSource() { class CentralDeMangas : ParsedHttpSource() {
// Hardcode the id because the language wasn't specific.
override val id: Long = 711589261250964163
override val name = "Central de Mangás" override val name = "Central de Mangás"
override val baseUrl = "http://centraldemangas.online" override val baseUrl = "http://centraldemangas.online"
override val lang = "pt" override val lang = "pt-BR"
override val supportsLatest = true override val supportsLatest = true
@ -192,7 +195,7 @@ class CentralDeMangas : ParsedHttpSource() {
private fun Response.asJsonArray(): JsonArray = JSON_PARSER.parse(body()!!.string()).array private fun Response.asJsonArray(): JsonArray = JSON_PARSER.parse(body()!!.string()).array
companion object { companion object {
private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36" private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
private const val COVER_CDN = "http://capas.centraldemangas.com.br" private const val COVER_CDN = "http://capas.centraldemangas.com.br"
private const val SCRIPT_URL_BEGIN = "var urlSulfix = '" private const val SCRIPT_URL_BEGIN = "var urlSulfix = '"

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Golden Mangás' appName = 'Tachiyomi: Golden Mangás'
pkgNameSuffix = 'pt.goldenmangas' pkgNameSuffix = 'pt.goldenmangas'
extClass = '.GoldenMangas' extClass = '.GoldenMangas'
extVersionCode = 2 extVersionCode = 3
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -1,6 +1,5 @@
package eu.kanade.tachiyomi.extension.pt.goldenmangas package eu.kanade.tachiyomi.extension.pt.goldenmangas
import android.util.Log
import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.network.GET
import eu.kanade.tachiyomi.source.model.FilterList import eu.kanade.tachiyomi.source.model.FilterList
import eu.kanade.tachiyomi.source.model.Page import eu.kanade.tachiyomi.source.model.Page
@ -20,11 +19,14 @@ import org.jsoup.nodes.Element
class GoldenMangas : ParsedHttpSource() { class GoldenMangas : ParsedHttpSource() {
// Hardcode the id because the language wasn't specific.
override val id: Long = 6858719406079923084
override val name = "Golden Mangás" override val name = "Golden Mangás"
override val baseUrl = "https://goldenmanga.top" override val baseUrl = "https://goldenmanga.top"
override val lang = "pt" override val lang = "pt-BR"
override val supportsLatest = true override val supportsLatest = true
@ -59,7 +61,6 @@ class GoldenMangas : ParsedHttpSource() {
override fun latestUpdatesSelector() = "div.col-sm-12.atualizacao > div.row" override fun latestUpdatesSelector() = "div.col-sm-12.atualizacao > div.row"
override fun latestUpdatesFromElement(element: Element): SManga = SManga.create().apply { override fun latestUpdatesFromElement(element: Element): SManga = SManga.create().apply {
Log.d("golden", element.html())
val infoElement = element.select("div.col-sm-10.col-xs-8 h3").first() val infoElement = element.select("div.col-sm-10.col-xs-8 h3").first()
val thumb = element.select("a:first-child div img").first().attr("src") val thumb = element.select("a:first-child div img").first().attr("src")
@ -148,7 +149,7 @@ class GoldenMangas : ParsedHttpSource() {
} }
companion object { companion object {
private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36" private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
private val FLAG_REGEX = "\\((Pt-br|Scan)\\)".toRegex(RegexOption.IGNORE_CASE) private val FLAG_REGEX = "\\((Pt[-/]br|Scan)\\)".toRegex(RegexOption.IGNORE_CASE)
} }
} }

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: HipercooL' appName = 'Tachiyomi: HipercooL'
pkgNameSuffix = 'pt.hipercool' pkgNameSuffix = 'pt.hipercool'
extClass = '.Hipercool' extClass = '.Hipercool'
extVersionCode = 2 extVersionCode = 3
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -29,18 +29,22 @@ import okhttp3.Response
import rx.Observable import rx.Observable
class Hipercool : HttpSource() { class Hipercool : HttpSource() {
// Hardcode the id because the language wasn't specific.
override val id: Long = 5898568703656160
override val name = "HipercooL" override val name = "HipercooL"
override val baseUrl = "https://hiper.cool" override val baseUrl = "https://hiper.cool"
override val lang = "pt" override val lang = "pt-BR"
override val supportsLatest = true override val supportsLatest = true
override fun headersBuilder(): Headers.Builder = Headers.Builder() override fun headersBuilder(): Headers.Builder = Headers.Builder()
.add("User-Agent", USER_AGENT) .add("User-Agent", USER_AGENT)
.add("Referer", baseUrl) .add("Referer", baseUrl)
.add("X-Requested-With", "XMLHttpRequest") .add("X-Requested-With", "XMLHttpRequest")
private fun generalListMangaParse(obj: JsonObject): SManga { private fun generalListMangaParse(obj: JsonObject): SManga {
val book = obj["_book"].obj val book = obj["_book"].obj
@ -70,8 +74,8 @@ class Hipercool : HttpSource() {
return MangasPage(emptyList(), false) return MangasPage(emptyList(), false)
val latestMangas = result val latestMangas = result
.map { latestMangaItemParse(it.obj) } .map { latestMangaItemParse(it.obj) }
.distinctBy { it.title } .distinctBy { it.title }
return MangasPage(latestMangas, result.size() == 40) return MangasPage(latestMangas, result.size() == 40)
} }
@ -101,8 +105,8 @@ class Hipercool : HttpSource() {
return MangasPage(emptyList(), false) return MangasPage(emptyList(), false)
val searchMangas = result val searchMangas = result
.map { searchMangaItemParse(it.obj) } .map { searchMangaItemParse(it.obj) }
.distinctBy { it.title } .distinctBy { it.title }
return MangasPage(searchMangas, result.size() == 40) return MangasPage(searchMangas, result.size() == 40)
} }
@ -112,10 +116,10 @@ class Hipercool : HttpSource() {
// Workaround to allow "Open in browser" use the real URL. // Workaround to allow "Open in browser" use the real URL.
override fun fetchMangaDetails(manga: SManga): Observable<SManga> { override fun fetchMangaDetails(manga: SManga): Observable<SManga> {
return client.newCall(mangaDetailsApiRequest(manga)) return client.newCall(mangaDetailsApiRequest(manga))
.asObservableSuccess() .asObservableSuccess()
.map { response -> .map { response ->
mangaDetailsParse(response).apply { initialized = true } mangaDetailsParse(response).apply { initialized = true }
} }
} }
private fun mangaDetailsApiRequest(manga: SManga): Request { private fun mangaDetailsApiRequest(manga: SManga): Request {
@ -128,19 +132,19 @@ class Hipercool : HttpSource() {
val result = response.asJsonObject() val result = response.asJsonObject()
val artists = result["tags"].array val artists = result["tags"].array
.filter { it["label"].string == "Artista" } .filter { it["label"].string == "Artista" }
.flatMap { it["values"].array } .flatMap { it["values"].array }
.joinToString("; ") { it["label"].string } .joinToString("; ") { it["label"].string }
val authors = result["tags"].array val authors = result["tags"].array
.filter { it["label"].string == "Autor" } .filter { it["label"].string == "Autor" }
.flatMap { it["values"].array } .flatMap { it["values"].array }
.joinToString("; ") { it["label"].string } .joinToString("; ") { it["label"].string }
val tags = result["tags"].array val tags = result["tags"].array
.filter { it["label"].string == "Tags" } .filter { it["label"].string == "Tags" }
.flatMap { it["values"].array } .flatMap { it["values"].array }
.joinToString(", ") { it["label"].string } .joinToString(", ") { it["label"].string }
return SManga.create().apply { return SManga.create().apply {
title = result["title"].string title = result["title"].string
@ -162,8 +166,8 @@ class Hipercool : HttpSource() {
return emptyList() return emptyList()
return result["chapters"].array return result["chapters"].array
.map { chapterListItemParse(result, it.obj) } .map { chapterListItemParse(result, it.obj) }
.reversed() .reversed()
} }
private fun chapterListItemParse(book: JsonObject, obj: JsonObject): SChapter = SChapter.create().apply { private fun chapterListItemParse(book: JsonObject, obj: JsonObject): SChapter = SChapter.create().apply {
@ -208,11 +212,11 @@ class Hipercool : HttpSource() {
override fun imageRequest(page: Page): Request { override fun imageRequest(page: Page): Request {
val newHeaders = Headers.Builder() val newHeaders = Headers.Builder()
.apply { .apply {
add("Referer", page.url) add("Referer", page.url)
add("User-Agent", USER_AGENT) add("User-Agent", USER_AGENT)
} }
.build() .build()
return GET(page.imageUrl!!, newHeaders) return GET(page.imageUrl!!, newHeaders)
} }
@ -220,8 +224,8 @@ class Hipercool : HttpSource() {
private fun parseChapterDate(date: String): Long { private fun parseChapterDate(date: String): Long {
return try { return try {
SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH) SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH)
.parse(date.substringBefore("T")) .parse(date.substringBefore("T"))
.time .time
} catch (e: ParseException) { } catch (e: ParseException) {
0L 0L
} }
@ -239,7 +243,7 @@ class Hipercool : HttpSource() {
companion object { companion object {
private const val STATIC_URL = "https://static.hiper.cool" private const val STATIC_URL = "https://static.hiper.cool"
private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36" private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
private const val CHAPTER_REGEX = "\\/books\\/(.*)\\/(.*)\\?images=(\\d+)&revision=(\\d+)\$" private const val CHAPTER_REGEX = "\\/books\\/(.*)\\/(.*)\\?images=(\\d+)&revision=(\\d+)\$"

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: MangaYabu!' appName = 'Tachiyomi: MangaYabu!'
pkgNameSuffix = 'pt.mangayabu' pkgNameSuffix = 'pt.mangayabu'
extClass = '.MangaYabu' extClass = '.MangaYabu'
extVersionCode = 1 extVersionCode = 2
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -17,11 +17,14 @@ import rx.Observable
class MangaYabu : ParsedHttpSource() { class MangaYabu : ParsedHttpSource() {
// Hardcode the id because the language wasn't specific.
override val id: Long = 7152688036023311164
override val name = "MangaYabu!" override val name = "MangaYabu!"
override val baseUrl = "https://mangayabu.com" override val baseUrl = "https://mangayabu.com"
override val lang = "pt" override val lang = "pt-BR"
override val supportsLatest = true override val supportsLatest = true
@ -33,7 +36,7 @@ class MangaYabu : ParsedHttpSource() {
override fun fetchPopularManga(page: Int): Observable<MangasPage> { override fun fetchPopularManga(page: Int): Observable<MangasPage> {
return super.fetchPopularManga(page) return super.fetchPopularManga(page)
.map { .map {
MangasPage(it.mangas.distinctBy { m -> m.title }, it.hasNextPage) MangasPage(it.mangas.distinctBy { m -> m.url }, it.hasNextPage)
} }
} }
@ -52,7 +55,7 @@ class MangaYabu : ParsedHttpSource() {
override fun fetchLatestUpdates(page: Int): Observable<MangasPage> { override fun fetchLatestUpdates(page: Int): Observable<MangasPage> {
return super.fetchLatestUpdates(page) return super.fetchLatestUpdates(page)
.map { .map {
MangasPage(it.mangas.distinctBy { m -> m.title }, it.hasNextPage) MangasPage(it.mangas.distinctBy { m -> m.url }, it.hasNextPage)
} }
} }
@ -145,7 +148,7 @@ class MangaYabu : ParsedHttpSource() {
} }
companion object { companion object {
private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.87 Safari/537.36" private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
private val SLUG_EXCEPTIONS = mapOf( private val SLUG_EXCEPTIONS = mapOf(
"the-promised-neverland-yakusoku-no-neverland" to "yakusoku-no-neverland-the-promised-neverland" "the-promised-neverland-yakusoku-no-neverland" to "yakusoku-no-neverland-the-promised-neverland"

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Saikai Scan' appName = 'Tachiyomi: Saikai Scan'
pkgNameSuffix = 'pt.saikaiscan' pkgNameSuffix = 'pt.saikaiscan'
extClass = '.SaikaiScan' extClass = '.SaikaiScan'
extVersionCode = 2 extVersionCode = 3
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -16,11 +16,14 @@ import org.jsoup.nodes.Element
class SaikaiScan : ParsedHttpSource() { class SaikaiScan : ParsedHttpSource() {
// Hardcode the id because the language wasn't specific.
override val id: Long = 2686610366990303664
override val name = "Saikai Scan" override val name = "Saikai Scan"
override val baseUrl = "https://saikaiscan.com.br" override val baseUrl = "https://saikaiscan.com.br"
override val lang = "pt" override val lang = "pt-BR"
override val supportsLatest = true override val supportsLatest = true
@ -133,7 +136,7 @@ class SaikaiScan : ParsedHttpSource() {
private fun removeLabel(info: String) = info.substringAfter(":") private fun removeLabel(info: String) = info.substringAfter(":")
companion object { companion object {
private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36" private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
private val CHAPTER_REGEX = "Capítulo (\\d+)".toRegex() private val CHAPTER_REGEX = "Capítulo (\\d+)".toRegex()
} }
} }

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: YES Mangás' appName = 'Tachiyomi: YES Mangás'
pkgNameSuffix = 'pt.yesmangas' pkgNameSuffix = 'pt.yesmangas'
extClass = '.YesMangas' extClass = '.YesMangas'
extVersionCode = 2 extVersionCode = 3
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -15,11 +15,14 @@ import org.jsoup.nodes.Element
class YesMangas : ParsedHttpSource() { class YesMangas : ParsedHttpSource() {
// Hardcode the id because the language wasn't specific.
override val id: Long = 7187189302580957274
override val name = "YES Mangás" override val name = "YES Mangás"
override val baseUrl = "https://yesmangas1.com" override val baseUrl = "https://yesmangas1.com"
override val lang = "pt" override val lang = "pt-BR"
override val supportsLatest = true override val supportsLatest = true
@ -120,7 +123,7 @@ class YesMangas : ParsedHttpSource() {
private fun removeLabel(info: String) = info.substringAfter(":") private fun removeLabel(info: String) = info.substringAfter(":")
companion object { companion object {
private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36" private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
private val LANG_REGEX = "( )?\\((PT-)?BR\\)".toRegex() private val LANG_REGEX = "( )?\\((PT-)?BR\\)".toRegex()
private const val SCRIPT_BEGIN = "var images = [" private const val SCRIPT_BEGIN = "var images = ["

View File

@ -5,7 +5,7 @@ ext {
appName = 'Tachiyomi: Zinnes' appName = 'Tachiyomi: Zinnes'
pkgNameSuffix = 'pt.zinnes' pkgNameSuffix = 'pt.zinnes'
extClass = '.Zinnes' extClass = '.Zinnes'
extVersionCode = 1 extVersionCode = 2
libVersion = '1.2' libVersion = '1.2'
} }

View File

@ -20,11 +20,14 @@ import org.jsoup.nodes.Element
class Zinnes : ParsedHttpSource() { class Zinnes : ParsedHttpSource() {
// Hardcode the id because the language wasn't specific.
override val id: Long = 568551799323473384
override val name = "Zinnes" override val name = "Zinnes"
override val baseUrl = "https://www.zinnes.com.br" override val baseUrl = "https://www.zinnes.com.br"
override val lang = "pt" override val lang = "pt-BR"
override val supportsLatest = false override val supportsLatest = false
@ -132,7 +135,7 @@ class Zinnes : ParsedHttpSource() {
} }
companion object { companion object {
private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.92 Safari/537.36" private const val USER_AGENT = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
private val ID_REGEX = "var titulo = \\{\"id\":\"(\\d+)\"".toRegex() private val ID_REGEX = "var titulo = \\{\"id\":\"(\\d+)\"".toRegex()
private val FILES_REGEX = "var arquivos = \\[(.*)\\];".toRegex() private val FILES_REGEX = "var arquivos = \\[(.*)\\];".toRegex()