diff --git a/.github/summary.yaml b/.github/summary.yaml index 00836e52..268c221f 100644 --- a/.github/summary.yaml +++ b/.github/summary.yaml @@ -1 +1 @@ -total: 1189 +total: 1190 diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/pt/PointZeroToons.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/pt/PointZeroToons.kt new file mode 100644 index 00000000..89af0b58 --- /dev/null +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/pt/PointZeroToons.kt @@ -0,0 +1,47 @@ +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.MangaListFilterCapabilities +import org.koitharu.kotatsu.parsers.model.MangaParserSource +import org.koitharu.kotatsu.parsers.site.mangareader.MangaReaderParser +import org.koitharu.kotatsu.parsers.model.* +import org.koitharu.kotatsu.parsers.util.* +import java.util.* + +@MangaSourceParser("POINTZEROTOONS", "PointZero Toons", "pt") +internal class PointZeroToons(context: MangaLoaderContext) : + MangaReaderParser(context, MangaParserSource.POINTZEROTOONS, "pointzerotoons.com", pageSize = 20, searchPageSize = 10) { + + override val filterCapabilities: MangaListFilterCapabilities + get() = super.filterCapabilities.copy( + isTagsExclusionSupported = false, + ) + + override suspend fun getDetails(manga: Manga): Manga { + val docs = webClient.httpGet(manga.url.toAbsoluteUrl(domain)).parseHtml() + val chapters = docs.select(selectChapter).mapChapters { index, element -> + val url = element.selectFirst("a")?.attrAsRelativeUrl("href") ?: return@mapChapters null + val name = element.selectFirst(".chapternum")?.text() ?: "Chapter ${index + 1}" + val numChap = findNumChap(name) + MangaChapter( + id = generateUid(url), + name = name, + url = url, + number = numChap, + volume = 0, + scanlator = null, + uploadDate = 0, + branch = null, + source = source, + ) + } + return parseInfo(docs, manga, chapters) + } + + private fun findNumChap(name: String): Float { + val regex = Regex("\\d+") + val num = regex.find(name) + return num?.value?.toFloat() ?: 0f + } +} diff --git a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/pt/SssScanlator.kt b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/pt/SssScanlator.kt index 9a60b4ec..ebf85d4f 100644 --- a/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/pt/SssScanlator.kt +++ b/src/main/kotlin/org/koitharu/kotatsu/parsers/site/mangareader/pt/SssScanlator.kt @@ -9,7 +9,7 @@ import org.koitharu.kotatsu.parsers.model.* import org.koitharu.kotatsu.parsers.util.* import java.util.* -@MangaSourceParser("SSSSCANLATOR", "SssScanlator", "pt") +@MangaSourceParser("SSSSCANLATOR", "YomuComics", "pt") internal class SssScanlator(context: MangaLoaderContext) : MangaReaderParser(context, MangaParserSource.SSSSCANLATOR, "yomucomics.com", pageSize = 20, searchPageSize = 10) {