From b93641e90ee09499c49262722c9b946224639b98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Edgar=20Mej=C3=ADa?= Date: Fri, 17 Jul 2020 00:41:54 -0600 Subject: [PATCH] Add Kumanga inorichi/tachiyomi-extensions#921 (#3793) * Add Kumanga inorichi/tachiyomi-extensions#921 * Fix pagination bug, added chapter date and correct name. * Prevent unnecessary pagination request * Fix chapter list loop, fix empty chapter --- src/es/kumanga/build.gradle | 17 ++ .../kumanga/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3406 bytes .../kumanga/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1941 bytes .../kumanga/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4462 bytes .../kumanga/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 8086 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 11076 bytes src/es/kumanga/res/web_hi_res_512.png | Bin 0 -> 50747 bytes .../tachiyomi/extension/es/kumanga/Kumanga.kt | 273 ++++++++++++++++++ 8 files changed, 290 insertions(+) create mode 100755 src/es/kumanga/build.gradle create mode 100644 src/es/kumanga/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/es/kumanga/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/es/kumanga/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/es/kumanga/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/es/kumanga/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/es/kumanga/res/web_hi_res_512.png create mode 100755 src/es/kumanga/src/eu/kanade/tachiyomi/extension/es/kumanga/Kumanga.kt diff --git a/src/es/kumanga/build.gradle b/src/es/kumanga/build.gradle new file mode 100755 index 000000000..ffc459d4b --- /dev/null +++ b/src/es/kumanga/build.gradle @@ -0,0 +1,17 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +ext { + extName = 'Kumanga' + pkgNameSuffix = 'es.kumanga' + extClass = '.Kumanga' + extVersionCode = 1 + libVersion = '1.2' +} + +dependencies { + compileOnly 'com.google.code.gson:gson:2.8.5' + compileOnly 'com.github.salomonbrys.kotson:kotson:2.5.0' +} + +apply from: "$rootDir/common.gradle" diff --git a/src/es/kumanga/res/mipmap-hdpi/ic_launcher.png b/src/es/kumanga/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c8a55e2026a227fa3a3cb36b35fb64bcf2493d51 GIT binary patch literal 3406 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 bFR#G=Ufk1sFIv|e)-Kzp5$6aDUg@ZtLH8* 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 literal 0 HcmV?d00001 diff --git a/src/es/kumanga/res/mipmap-xxxhdpi/ic_launcher.png b/src/es/kumanga/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c4da6924649963015881ccdcef8a68f8bfafdd8c GIT binary patch literal 11076 zcma)CWmg;D*G)nS!9&oZ!Agr$+#LcGw^H1TL-FG77NF3g#ihksDDF|2rV)sI$g`Jq7>(2Pnu$ zYIzwQW?|1*OFwVlzQ3Bk_d6sR5UuWK|DZR?&a8;Qk}bq8j9E}jf)TvZqH~j%flUyr z6WPoghP`J)YOu%DHXT$r`S}0gH~!I=`Pp-1^GSUBN&H-7`TWq|dIWW6>HdC1ShUOr z7u-k&5;bhTvf9N3Ye@reVQ#!&a?sA+p%ck6R3Ze;5H~0s(D?B_qlX_nwj!Y`ol6^7 zvGizliVNfs7@LB=hvb(3YSZ&Yh2s5xL%+WW)Cs7ZUA>buv1BP;zzTKq%O_rTV5H1& zBE|q_02G>JkCy9KTbSf^C znwv+ZOOmV~M2@YpNS68(=Dl0_@(E&&yAy>zVwaPewx?@7d$ZO#+Cym^*N(Z8I0JGK zP}-q$4?ljZMX|M00=d+c@#*Pexp>M_xdiI(FW#i*%EgkoT%K(Xsb=##Em5I`nh*vh zL1|lQKN=AM8Ip|YTQzL^zv=zJGpaW0(Mu3Hiv-;ovUQhAE%eHzvqA{S#d+GkjmE&M zzU||F7rYQbc2&L}hMLCHh#P&c?j-J3|B*>0Gm`n|pNHFXYkVm1 z3LxIlEF}vKRQC&KE(~{Q*!5Gr6s_sou_8nqznOo= zB!v68<$8%QRbwa`3G&8l2RHuQ%TFN}bKje^qxLzdK8%I%QFin_HxsC_5E+mQ70@Qm znNIDBAPaYE(=qnD)Ti;kSrtvu7}YCNd#y%Nh-JwbSa631#L-lYd+WLAer(X}b!uw^ zgLeZ9Lh1A@byP^^s+dJMy6|b9?G%8Jc4!coO=mYb z4WOeQkfK39{nk7#;t*1qlB`HzEM$auhV3mm_fLf9iCHuaD)-4xNwJw$I=sYk=+pPo zly^cB0J82Ee2D`TDG`9!YiqTCL4cw+pU>1HlM9kcL(P>i8N0ClhI5B!mVwnS|?uWR!yFASP;0G>HKGPysboGbKjFou;pG%xA)u&VyqQF$rpV5K?78{tMM?-!|2rBrg{OFj6++%}723Jiwj6?Aw-FC;i;0 z92Ihj4uRW1tfMiAP|q`|W;aWeMTQB~rMM#Q!&;fVjY4seS5%lmT1nERz<^R+)HpbU z<7nUbt1&XPBkTb*z)-&W_wj7nwFT!$D1w-P=Vxn8b{f}zL%90{ZiiNYfhK^2mmvU# z35L*gS?8C%5WnJ#93?@oFIX=uDQoEh6Y+M|Z!`?`=Qs-PtxoSr8BGUQQo>FA_;lX~ z41Uq2uAhnq6l6}zLcVW2z>e5=HLWq#wiaS2n@GUWHA+j@M-j^2Z2k9CT%$h_>123R z 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

qXJ+3xIO2 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 KDU~Uj2mF6EXsT)e literal 0 HcmV?d00001 diff --git a/src/es/kumanga/src/eu/kanade/tachiyomi/extension/es/kumanga/Kumanga.kt b/src/es/kumanga/src/eu/kanade/tachiyomi/extension/es/kumanga/Kumanga.kt new file mode 100755 index 000000000..a08b61dfb --- /dev/null +++ b/src/es/kumanga/src/eu/kanade/tachiyomi/extension/es/kumanga/Kumanga.kt @@ -0,0 +1,273 @@ +package eu.kanade.tachiyomi.extension.es.kumanga + +import com.github.salomonbrys.kotson.array +import com.github.salomonbrys.kotson.get +import com.github.salomonbrys.kotson.int +import com.github.salomonbrys.kotson.string +import com.google.gson.JsonElement +import com.google.gson.JsonParser +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.POST +import eu.kanade.tachiyomi.source.model.Filter +import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.MangasPage +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SChapter +import eu.kanade.tachiyomi.source.model.SManga +import eu.kanade.tachiyomi.source.online.HttpSource +import eu.kanade.tachiyomi.util.asJsoup +import java.text.SimpleDateFormat +import java.util.Locale +import kotlin.math.roundToInt +import okhttp3.Headers +import okhttp3.HttpUrl +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import org.jsoup.nodes.Element + +class Kumanga : HttpSource() { + + override val client: OkHttpClient = network.cloudflareClient + .newBuilder() + .followRedirects(true) + .build() + + override val name = "Kumanga" + + override val baseUrl = "https://www.kumanga.com" + + override val lang = "es" + + override val supportsLatest = false + + private val chapterImagesHeaders = Headers.Builder() + .add("Referer", baseUrl) + .build() + + private fun getMangaCover(mangaId: String) = "https://static.kumanga.com/manga_covers/$mangaId.jpg?w=201" + + private fun getMangaUrl(mangaId: String, mangaSlug: String, page: Int) = "/manga/$mangaId/p/$page/$mangaSlug#cl" + + private fun parseMangaFromJson(json: JsonElement) = SManga.create().apply { + title = json["name"].string + description = json["description"].string.replace("\\", "") + url = getMangaUrl(json["id"].string, json["slug"].string, 1) + thumbnail_url = getMangaCover(json["id"].string) + + val genresArray = json["categories"].array + genre = genresArray.joinToString { jsonObject -> + parseGenresFromJson(jsonObject) + } + } + + private fun parseJson(json: String): JsonElement { + return JsonParser().parse(json) + } + + private fun parseGenresFromJson(json: JsonElement) = json["name"].string + + override fun popularMangaRequest(page: Int): Request { + return POST("$baseUrl/backend/ajax/searchengine.php?page=$page&perPage=10&keywords=&retrieveCategories=true&retrieveAuthors=false&contentType=manga", headers) + } + + override fun popularMangaParse(response: Response): MangasPage { + val res = response.body()!!.string() + val json = parseJson(res) + val data = json["contents"].array + val retrievedCount = json["retrievedCount"].int + val hasNextPage = retrievedCount == 10 + + val mangas = data.map { jsonObject -> + parseMangaFromJson(jsonObject) + } + + return MangasPage(mangas, hasNextPage) + } + + override fun latestUpdatesRequest(page: Int) = throw Exception("Not Used") + + override fun latestUpdatesParse(response: Response) = throw Exception("Not Used") + + override fun mangaDetailsParse(response: Response) = SManga.create().apply { + val body = response.asJsoup() + + body.select("div#tab2").let { + status = parseStatus(it.select("span").text().orEmpty()) + author = it.select("p:nth-child(3) > a").text() + artist = it.select("p:nth-child(4) > a").text() + } + } + + private fun parseStatus(status: String) = when { + status.contains("Activo") -> SManga.ONGOING + status.contains("Finalizado") -> SManga.COMPLETED + else -> SManga.UNKNOWN + } + + private fun parseChapterDate(date: String): Long = SimpleDateFormat("dd/MM/yyyy HH:mm", Locale.getDefault()) + .parse(date)?.time ?: 0L + + private fun chapterSelector() = "div#accordion > div.panel.panel-default.c_panel:has(table)" + + private fun chapterFromElement(element: Element) = SChapter.create().apply { + element.select("table:first-child td h4").let { it -> + it.select("a:has(i)").let { + url = '/' + it.attr("href").replace("/c/", "/leer/") + name = it.text() + date_upload = parseChapterDate(it.attr("title")) + } + scanlator = it.select("span.pull-right.greenSpan")?.text() + } + } + + override fun chapterListParse(response: Response): List = mutableListOf().apply { + var document = response.asJsoup() + val params = document.select("body").toString().substringAfter("php_pagination(").substringBefore(")") + val numberChapters = params.split(",")[4].toIntOrNull() + val mangaId = params.split(",")[0] + val mangaSlug = params.split(",")[1].replace("'", "") + + if (numberChapters != null) { + // Calculating total of pages, Kumanga shows 10 chapters per page, total_pages = #chapters / 10 + val numberOfPages = (numberChapters / 10.toDouble() + 0.4).roundToInt() + document.select(chapterSelector()).map { add(chapterFromElement(it)) } + var page = 2 + + while (page <= numberOfPages) { + document = client.newCall(GET(baseUrl + getMangaUrl(mangaId, mangaSlug, page))).execute().asJsoup() + document.select(chapterSelector()).map { add(chapterFromElement(it)) } + page++ + } + } else throw Exception("No fue posible obtener los capítulos") + } + + override fun pageListParse(response: Response): List = mutableListOf().apply { + val document = response.asJsoup() + val imagesJsonListStr = document.select("head").toString() + .substringAfter("var pUrl=") + .substringBefore(";") + val imagesJsonList = parseJson(imagesJsonListStr).array + + imagesJsonList.forEach { + val fakeImageUrl = it["imgURL"].string.replace("\\", "") + val imageUrl = baseUrl + fakeImageUrl + + add(Page(size, "", imageUrl)) + } + } + + override fun imageRequest(page: Page) = GET(page.imageUrl!!, chapterImagesHeaders) + + override fun imageUrlParse(response: Response) = throw Exception("Not Used") + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + val url = HttpUrl.parse("$baseUrl/backend/ajax/searchengine.php?page=$page&perPage=10&keywords=$query&retrieveCategories=true&retrieveAuthors=false&contentType=manga")!!.newBuilder() + + filters.forEach { filter -> + when (filter) { + is TypeList -> { + filter.state + .filter { type -> type.state } + .forEach { type -> url.addQueryParameter("type_filter[]", type.id) } + } + is StatusList -> { + filter.state + .filter { status -> status.state } + .forEach { status -> url.addQueryParameter("status_filter[]", status.id) } + } + is GenreList -> { + filter.state + .filter { genre -> genre.state } + .forEach { genre -> url.addQueryParameter("category_filter[]", genre.id) } + } + } + } + + return POST(url.build().toString(), headers) + } + + override fun searchMangaParse(response: Response) = popularMangaParse(response) + + override fun getFilterList() = FilterList( + TypeList(getTypeList()), + Filter.Separator(), + StatusList(getStatusList()), + Filter.Separator(), + GenreList(getGenreList()) + ) + + private class Type(name: String, val id: String) : Filter.CheckBox(name) + private class TypeList(types: List) : Filter.Group("Filtrar por tipos", types) + + private class Status(name: String, val id: String) : Filter.CheckBox(name) + private class StatusList(status: List) : Filter.Group("Filtrar por estado", status) + + private class Genre(name: String, val id: String) : Filter.CheckBox(name) + private class GenreList(genres: List) : Filter.Group("Filtrar por géneros", genres) + + private fun getTypeList() = listOf( + Type("Manga", "1"), + Type("Manhwa", "2"), + Type("Manhua", "3"), + Type("One shot", "4"), + Type("Doujinshi", "5") + ) + + private fun getStatusList() = listOf( + Status("Activo", "1"), + Status("Finalizado", "2"), + Status("Inconcluso", "3") + ) + + private fun getGenreList() = listOf( + Genre("Acción", "1"), + Genre("Artes marciales", "2"), + Genre("Automóviles", "3"), + Genre("Aventura", "4"), + Genre("Ciencia Ficción", "5"), + Genre("Comedia", "6"), + Genre("Demonios", "7"), + Genre("Deportes", "8"), + Genre("Doujinshi", "9"), + Genre("Drama", "10"), + Genre("Ecchi", "11"), + Genre("Espacio exterior", "12"), + Genre("Fantasía", "13"), + Genre("Gender bender", "14"), + Genre("Gore", "46"), + Genre("Harem", "15"), + Genre("Hentai", "16"), + Genre("Histórico", "17"), + Genre("Horror", "18"), + Genre("Josei", "19"), + Genre("Juegos", "20"), + Genre("Locura", "21"), + Genre("Magia", "22"), + Genre("Mecha", "23"), + Genre("Militar", "24"), + Genre("Misterio", "25"), + Genre("Música", "26"), + Genre("Niños", "27"), + Genre("Parodia", "28"), + Genre("Policía", "29"), + Genre("Psicológico", "30"), + Genre("Recuentos de la vida", "31"), + Genre("Romance", "32"), + Genre("Samurai", "33"), + Genre("Seinen", "34"), + Genre("Shoujo", "35"), + Genre("Shoujo Ai", "36"), + Genre("Shounen", "37"), + Genre("Shounen Ai", "38"), + Genre("Sobrenatural", "39"), + Genre("Súperpoderes", "41"), + Genre("Suspenso", "40"), + Genre("Terror", "47"), + Genre("Tragedia", "48"), + Genre("Vampiros", "42"), + Genre("Vida escolar", "43"), + Genre("Yaoi", "44"), + Genre("Yuri", "45") + ) +}