Minor daily update

devi 3 years ago
parent a61e441e79
commit e2e027df81

@ -154,12 +154,12 @@ internal class FlixScans(context: MangaLoaderContext) : PagedMangaParser(context
val id = jsonPages.getInt(i) val id = jsonPages.getInt(i)
val url = "https://api.$domain/storage/" + json.getString(id) val url = "https://api.$domain/storage/" + json.getString(id)
pages.add( pages.add(
MangaPage( MangaPage(
id = generateUid(url), id = generateUid(url),
url = url, url = url,
preview = null, preview = null,
source = source, source = source,
) ),
) )
} }
return pages return pages

@ -4,10 +4,7 @@ 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 java.util.Locale
@MangaSourceParser("FRSCAN", "Fr-Scan", "fr") @MangaSourceParser("FRSCAN", "Fr-Scan", "fr")
internal class FrScan(context: MangaLoaderContext) : internal class FrScan(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.FRSCAN, "fr-scan.cc") { MadaraParser(context, MangaSource.FRSCAN, "fr-scan.com")
override val sourceLocale: Locale = Locale.ENGLISH
}

@ -9,6 +9,6 @@ import org.koitharu.kotatsu.parsers.site.madara.MadaraParser
internal class LimboScan(context: MangaLoaderContext) : internal class LimboScan(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.LIMBOSCAN, "limboscan.com.br") { MadaraParser(context, MangaSource.LIMBOSCAN, "limboscan.com.br") {
override val tagPrefix = "obras-genre/" override val tagPrefix = "obras-genre/"
override val listUrl= "obras/" override val listUrl = "obras/"
override val datePattern: String = "dd/MM/yyyy" override val datePattern: String = "dd/MM/yyyy"
} }

@ -0,0 +1,12 @@
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("VORTCESCAN", "Vortce Scan", "pt")
internal class VortceScan(context: MangaLoaderContext) :
MadaraParser(context, MangaSource.VORTCESCAN, "vortcescan.com.br", pageSize = 10) {
override val datePattern: String = "d 'de' MMMMM 'de' yyyy"
}

@ -5,6 +5,6 @@ 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.mangareader.MangaReaderParser import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser
@MangaSourceParser("OPSCANS", "OpScans", "en") @MangaSourceParser("OPSCANS", "Op Scanlations", "en")
internal class OpScans(context: MangaLoaderContext) : internal class OpScans(context: MangaLoaderContext) :
MangaReaderParser(context, MangaSource.OPSCANS, "opscans.com", pageSize = 20, searchPageSize = 10) MangaReaderParser(context, MangaSource.OPSCANS, "opscanlations.com", pageSize = 20, searchPageSize = 10)

@ -55,7 +55,8 @@ class HentaiVNParser(context: MangaLoaderContext) : MangaParser(context, MangaSo
val infoEl = infoElDeferred.await() val infoEl = infoElDeferred.await()
val stateDoc = stateDocDeferred.await() val stateDoc = stateDocDeferred.await()
manga.copy( manga.copy(
altTitle = infoEl.selectFirst("span.info:contains(Tên Khác:)")?.parent()?.select("span:not(.info) > a")?.joinToString { it.text() }, altTitle = infoEl.selectFirst("span.info:contains(Tên Khác:)")?.parent()?.select("span:not(.info) > a")
?.joinToString { it.text() },
author = infoEl.select("p:contains(Tác giả:) a").text(), author = infoEl.select("p:contains(Tác giả:) a").text(),
description = infoEl.select("p:contains(Nội dung:) + p").html(), description = infoEl.select("p:contains(Nội dung:) + p").html(),
tags = tags, tags = tags,
@ -143,7 +144,8 @@ class HentaiVNParser(context: MangaLoaderContext) : MangaParser(context, MangaSo
private suspend fun getOrCreateTagMap(): Map<String, MangaTag> = mutex.withLock { private suspend fun getOrCreateTagMap(): Map<String, MangaTag> = mutex.withLock {
tagCache?.let { return@withLock it } tagCache?.let { return@withLock it }
val tagMap = ArrayMap<String, MangaTag>() val tagMap = ArrayMap<String, MangaTag>()
val tags = webClient.httpGet("/forum/search-plus.php".toAbsoluteUrl(domain)).parseHtml().selectFirstOrThrow("ul.ul-search").select("li") val tags = webClient.httpGet("/forum/search-plus.php".toAbsoluteUrl(domain)).parseHtml()
.selectFirstOrThrow("ul.ul-search").select("li")
for (el in tags) { for (el in tags) {
if (el.text().isEmpty()) continue if (el.text().isEmpty()) continue
tagMap[el.text()] = MangaTag( tagMap[el.text()] = MangaTag(
@ -175,7 +177,8 @@ class HentaiVNParser(context: MangaLoaderContext) : MangaParser(context, MangaSo
return docs.selectFirstOrThrow("div.main").selectFirstOrThrow("div.block-item").select("ul > li.item") return docs.selectFirstOrThrow("div.main").selectFirstOrThrow("div.block-item").select("ul > li.item")
.map { el -> .map { el ->
val relativeUrl = el.selectFirstOrThrow("div.box-cover > a, div.box-cover-2 > a").attrAsRelativeUrl("href") val relativeUrl =
el.selectFirstOrThrow("div.box-cover > a, div.box-cover-2 > a").attrAsRelativeUrl("href")
val descriptionsEl = el.selectFirstOrThrow("div.box-description, div.box-description-2") val descriptionsEl = el.selectFirstOrThrow("div.box-description, div.box-description-2")
Manga( Manga(
id = generateUid(relativeUrl), id = generateUid(relativeUrl),

Loading…
Cancel
Save