Merge pull request #388 from deividgabrielpeira/master

Daily Update (extensions portuguese)
pull/397/head
Koitharu 2 years ago committed by GitHub
commit 570b0c19c5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,15 +0,0 @@
package org.koitharu.kotatsu.parsers.site.madara.pt
import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("AKUMANOTENSHI", "AkumanoTenshi", "pt")
internal class AkumanoTenshi(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.AKUMANOTENSHI, "akumanotenshi.com", 48) {
override val listUrl = "series/"
override val tagPrefix = "series-genre/"
override val datePattern = "dd/MM/yyyy"
override val postReq = true
}

@ -7,6 +7,6 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("CERISE_SCANS", "CeriseScans", "pt") @MangaSourceParser("CERISE_SCANS", "CeriseScans", "pt")
internal class CeriseScans(context: MangaLoaderContext) : internal class CeriseScans(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.CERISE_SCANS, "cerisescan.com/") { MadaraParser(context, MangaSource.CERISE_SCANS, "cerisescan.net/") {
override val datePattern: String = "dd 'de' MMMMM 'de' yyyy" override val datePattern: String = "dd 'de' MMMMM 'de' yyyy"
} }

@ -8,6 +8,6 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("HIPERCOOL", "Hipercool", "pt", ContentType.HENTAI) @MangaSourceParser("HIPERCOOL", "Hipercool", "pt", ContentType.HENTAI)
internal class Hipercool(context: MangaLoaderContext) : internal class Hipercool(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.HIPERCOOL, "hipercool.xyz", pageSize = 20) { MadaraParser(context, MangaSource.HIPERCOOL, "hiper.cool", pageSize = 20) {
override val tagPrefix = "manga-tag/" override val tagPrefix = "manga-tag/"
} }

@ -1,14 +0,0 @@
package org.koitharu.kotatsu.parsers.site.madara.pt
import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("LERYAOI", "Ler Yaoi", "pt", ContentType.HENTAI)
internal class LerYaoi(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.LERYAOI, "leryaoi.com", 10) {
override val tagPrefix = "genero/"
override val datePattern: String = "dd/MM/yyyy"
}

@ -4,8 +4,9 @@ import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.MangaSource import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
import org.koitharu.kotatsu.parsers.model.ContentType
@MangaSourceParser("NOCSUMMER", "NocturneSummer", "pt") @MangaSourceParser("NOCSUMMER", "NocturneSummer", "pt", ContentType.HENTAI)
internal class Nocsummer(context: MangaLoaderContext) : internal class Nocsummer(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.NOCSUMMER, "nocsummer.com.br", 18) { MadaraParser(context, MangaSource.NOCSUMMER, "nocsummer.com.br", 18) {
override val datePattern = "dd 'de' MMMMM 'de' yyyy" override val datePattern = "dd 'de' MMMMM 'de' yyyy"

@ -1,14 +0,0 @@
package org.koitharu.kotatsu.parsers.site.madara.pt
import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
@MangaSourceParser("YAOITOSHOKAN", "YaoiToShokan", "pt", ContentType.HENTAI)
internal class Yaoitoshokan(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.YAOITOSHOKAN, "www.yaoitoshokan.net", 18) {
override val tagPrefix = "genero/"
override val datePattern: String = "d MMM yyyy"
}

@ -1,19 +0,0 @@
package org.koitharu.kotatsu.parsers.site.mangareader.pt
import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.ContentType
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser
@MangaSourceParser("HENTAISSSSSCANLATOR", "SssScanlatorHentai", "pt", type = ContentType.HENTAI)
internal class HentaiSsssscanlator(context: MangaLoaderContext) :
MangaReaderParser(
context,
MangaSource.HENTAISSSSSCANLATOR,
"hentais.sssscanlator.com",
pageSize = 20,
searchPageSize = 10,
) {
override val datePattern = "MMM d, yyyy"
}

@ -1,61 +0,0 @@
package org.koitharu.kotatsu.parsers.site.mmrcms.pt
import kotlinx.coroutines.async
import kotlinx.coroutines.coroutineScope
import org.koitharu.kotatsu.parsers.MangaLoaderContext
import org.koitharu.kotatsu.parsers.MangaSourceParser
import org.koitharu.kotatsu.parsers.model.Manga
import org.koitharu.kotatsu.parsers.model.MangaSource
import org.koitharu.kotatsu.parsers.model.MangaState
import org.koitharu.kotatsu.parsers.model.MangaTag
import org.koitharu.kotatsu.parsers.model.SortOrder
import org.koitharu.kotatsu.parsers.site.mmrcms.MmrcmsParser
import org.koitharu.kotatsu.parsers.util.*
import java.util.EnumSet
import java.util.Locale
@MangaSourceParser("ANIMAREGIA", "Animaregia", "pt")
internal class Animaregia(context: MangaLoaderContext) :
MmrcmsParser(context, MangaSource.ANIMAREGIA, "animaregia.net") {
override val selectDate = "div.col-md-4"
override val sourceLocale: Locale = Locale.ENGLISH
//temporary
override val sortOrders: Set<SortOrder> = EnumSet.of(
SortOrder.POPULARITY,
SortOrder.ALPHABETICAL,
)
override suspend fun getDetails(manga: Manga): Manga = coroutineScope {
val fullUrl = manga.url.toAbsoluteUrl(domain)
val doc = webClient.httpGet(fullUrl).parseHtml()
val body = doc.body().selectFirstOrThrow("ul.list-group")
val chaptersDeferred = async { getChapters(doc) }
val desc = doc.select(selectDesc).text()
val stateDiv = body.selectFirst("li.list-group-item:contains(Status)")?.lastElementChild()
val state = stateDiv?.let {
when (it.text()) {
in ongoing -> MangaState.ONGOING
in finished -> MangaState.FINISHED
else -> null
}
}
val auth = doc.body().selectFirst("li.list-group-item:contains(Autor(es)) a")?.text()
val tags = doc.body().select("li.list-group-item:contains(Autor(es)) a") ?: emptySet()
manga.copy(
tags = tags.mapNotNullToSet { a ->
MangaTag(
key = a.attr("href").removeSuffix('/').substringAfterLast('/'),
title = a.text().toTitleCase(),
source = source,
)
},
author = auth,
description = desc,
altTitle = null,
state = state,
chapters = chaptersDeferred.await(),
)
}
}
Loading…
Cancel
Save