From 5d88f196d5c22e92259449c1a5c81da2ad6535a4 Mon Sep 17 00:00:00 2001 From: Mike <51273546+SnakeDoc83@users.noreply.github.com> Date: Sun, 3 May 2020 18:41:27 -0400 Subject: [PATCH] ReadManhwa - new extension (#2991) --- src/en/readmanhwa/build.gradle | 17 ++ .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 1821 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1070 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 2348 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 4455 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 5901 bytes src/en/readmanhwa/res/web_hi_res_512.png | Bin 0 -> 21909 bytes .../extension/en/readmanhwa/ReadManhwa.kt | 157 ++++++++++++++++++ 8 files changed, 174 insertions(+) create mode 100644 src/en/readmanhwa/build.gradle create mode 100644 src/en/readmanhwa/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/en/readmanhwa/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/en/readmanhwa/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/en/readmanhwa/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/en/readmanhwa/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/en/readmanhwa/res/web_hi_res_512.png create mode 100644 src/en/readmanhwa/src/eu/kanade/tachiyomi/extension/en/readmanhwa/ReadManhwa.kt diff --git a/src/en/readmanhwa/build.gradle b/src/en/readmanhwa/build.gradle new file mode 100644 index 000000000..75009867d --- /dev/null +++ b/src/en/readmanhwa/build.gradle @@ -0,0 +1,17 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +ext { + appName = 'Tachiyomi: ReadManhwa' + pkgNameSuffix = 'en.readmanhwa' + extClass = '.ReadManhwa' + extVersionCode = 1 + libVersion = '1.2' +} + +dependencies { + compileOnly 'com.google.code.gson:gson:2.8.2' + compileOnly 'com.github.salomonbrys.kotson:kotson:2.5.0' +} + +apply from: "$rootDir/common.gradle" diff --git a/src/en/readmanhwa/res/mipmap-hdpi/ic_launcher.png b/src/en/readmanhwa/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..58d765a3999e125072a7a98563f06b6e1d6e70b6 GIT binary patch literal 1821 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 LNkvXXu0mjf-&|mL literal 0 HcmV?d00001 diff --git a/src/en/readmanhwa/res/mipmap-mdpi/ic_launcher.png b/src/en/readmanhwa/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..e27bcd309972de8e04da1e5921ce83f38142090f GIT binary patch literal 1070 zcmV+}1kwA6P)<h;3K|Lk000e1NJLTq001xm001xu1^@s6R|5Hm000B^Nkl<ZXo2mS z?`s=%9LGPc6E;>DY<s59Dxwdhe?{}_(x#b|Jrl$SYm?kHZ8v-}knYl^HQ-Pzc5T;+ zvVsn`i4z>{3U)dyLhymw>TK3wirbTj&EnEEeBVC!ev`{x?vhlvJHfo+^(0@uxzFpq zKkj=RQ7f&qVwH9xdWMLeb(uq=mgX}(J>5|(7B4c!a&S3}v0SlOd_R>+9c{M$L-~CE zUAGH2rcfw+AV#Ea+K8y5R4TcC=Zz_qN`Dbihp5pq?L>6k?P9G$M8~PYdT1x2lWrGk z6(TzMKNncN4z@U@XJJy1)N{GagvR`MEprKh3O1(#%UA6aV2e{=!{I9WIPs96morqR zM?(p6<T4UiEFkc6qJFSh)qVkto&u{71{*2U$FUNN_vodDgp?uyazF?q92kMoQ(!;b z1>4!ylf8dHGMw}sK=C^z(8mRKwk<Do;AArn2`o$sfv}ANcCLYiNw9bb7zqP67J=0p z8n??_Hz)lK@Z|6M0ui6x0!fpF+3c<p1k?dw`xmzb%nEN@Jd-6bSpv?#20Z-T9RVy( zf(?f>;vth~K($Djs(oLUfR8WM3dl|f{Co#kTLQlS3V56c3Xe4&{01z40o?i=`1L1! zTQ&o{^+x5vg*Q(F`}+m~A6Uc-HhaO&5lDiK^a7({;8E7lmf|BZ6auE=wS8yCDo<UE zz6v~j>bwBEoa9p@9s<kW*Ei0MYl}580Nh;xuDr*YQ2`}bIWk}(0x;%=z(jKb=lX%O z{if#~C;{NxFZF%189?@OflH1E^wtrO_}#WDeklc%N(O-~E->hEKtKuB5fEGD*?!>s z>tOM)cG8UbfwzZ&(thn9XSaZu69V(&LZGKsU^Y>?>rl_|IsV`tKe>vdGGY?&-KvFv z#~}eZ$fuE+KzW-~&uG7|-2`Ids2ueJ=S~BE7$0Q+1%dgbCNL4H>coJBDJ~H40Z~8j z(K~JmNag}N+raH>oO?g&+nyAFuWte?p8+e^0At^3ftfLz1!4jICY8-tUg*Fn3k-DI zEHEeLxnhGr)G+}+m?H7lz-*>Tw(65!1ESqd2&jBNmji&}H%ImZvabp+C*}oWo?4<F zAleNKIx+%kWjoXn@fq;y8T6Pl&|Qn20$9EZHk&Y@ns7nmk_9tkrr_2mHVU|$mVn!7 zR^UXjSp3uNVvX6`+shNtiADl#M09LpW8*`&3pQqRbMp!j9is+cXo!docXoEZu)e;& zl*{GvySuw^lUy#BPp8wLc6D{VNJNJl6<;2OqeS!^5xqo2uei+1MD)C<sp-$HZN$F_ o9uXbg<cO%H;nZoRm4A_c08tW!Zm2&hVgLXD07*qoM6N<$f|SVWMF0Q* literal 0 HcmV?d00001 diff --git a/src/en/readmanhwa/res/mipmap-xhdpi/ic_launcher.png b/src/en/readmanhwa/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..6869ed766973b0e751091cb7006cf6e453fd4d58 GIT binary patch literal 2348 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 S*RSUQ0000<MNUMnLSTYWO;$kw literal 0 HcmV?d00001 diff --git a/src/en/readmanhwa/res/mipmap-xxhdpi/ic_launcher.png b/src/en/readmanhwa/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8a38dfcb5a8ef8c49f1d5b25a4bbb71b390f35b2 GIT binary patch literal 4455 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 JjV|`l{{YN5I*b4S literal 0 HcmV?d00001 diff --git a/src/en/readmanhwa/res/mipmap-xxxhdpi/ic_launcher.png b/src/en/readmanhwa/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..1c842780cb675a09b03c3cdf70e3179d0c09afeb GIT binary patch literal 5901 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 literal 0 HcmV?d00001 diff --git a/src/en/readmanhwa/res/web_hi_res_512.png b/src/en/readmanhwa/res/web_hi_res_512.png new file mode 100644 index 0000000000000000000000000000000000000000..2c4e51d3cd7ac088a6a30b410ae9bf2ed8bd8489 GIT binary patch literal 21909 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 literal 0 HcmV?d00001 diff --git a/src/en/readmanhwa/src/eu/kanade/tachiyomi/extension/en/readmanhwa/ReadManhwa.kt b/src/en/readmanhwa/src/eu/kanade/tachiyomi/extension/en/readmanhwa/ReadManhwa.kt new file mode 100644 index 000000000..45e7ff848 --- /dev/null +++ b/src/en/readmanhwa/src/eu/kanade/tachiyomi/extension/en/readmanhwa/ReadManhwa.kt @@ -0,0 +1,157 @@ +package eu.kanade.tachiyomi.extension.en.readmanhwa + +import com.github.salomonbrys.kotson.fromJson +import com.github.salomonbrys.kotson.get +import com.github.salomonbrys.kotson.int +import com.github.salomonbrys.kotson.string +import com.google.gson.Gson +import com.google.gson.JsonArray +import com.google.gson.JsonObject +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.asObservableSuccess +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 java.text.SimpleDateFormat +import java.util.Calendar +import java.util.Locale +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import rx.Observable + +class ReadManhwa : HttpSource() { + + override val name = "ReadManhwa" + + override val baseUrl = "https://www.readmanhwa.com" + + override val lang = "en" + + override val supportsLatest = true + + override val client: OkHttpClient = network.cloudflareClient + + private val gson = Gson() + + private fun parseMangaFromJson(response: Response): MangasPage { + val jsonObject = gson.fromJson<JsonObject>(response.body()!!.string()) + + val mangas = jsonObject["data"].asJsonArray.map { json -> + SManga.create().apply { + title = json["title"].string + thumbnail_url = json["image_url"].string + url = json["slug"].string + } + } + + return MangasPage(mangas, jsonObject["current_page"].int < jsonObject["last_page"].int) + } + + // Popular + + override fun popularMangaRequest(page: Int): Request { + return GET("$baseUrl/api/comics?page=$page&q=&sort=popularity&order=desc&duration=week", headers) + } + + override fun popularMangaParse(response: Response): MangasPage = parseMangaFromJson(response) + + // Latest + + override fun latestUpdatesRequest(page: Int): Request { + return GET("$baseUrl/api/comics?page=$page&q=&sort=uploaded_at&order=desc&duration=day", headers) + } + + override fun latestUpdatesParse(response: Response): MangasPage = parseMangaFromJson(response) + + // Search + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + return GET("$baseUrl/api/comics?page=$page&q=$query&sort=uploaded_at&order=desc&duration=day", headers) + } + + override fun searchMangaParse(response: Response): MangasPage = parseMangaFromJson(response) + + // Details + + override fun mangaDetailsRequest(manga: SManga): Request { + return GET("$baseUrl/api/comics/${manga.url}", headers) + } + + override fun mangaDetailsParse(response: Response): SManga { + val jsonObject = gson.fromJson<JsonObject>(response.body()!!.string()) + + return SManga.create().apply { + description = jsonObject["description"].string + status = jsonObject["status"].string.toStatus() + thumbnail_url = jsonObject["image_url"].string + genre = jsonObject["tags"].asJsonArray.joinToString { it["name"].string } + artist = jsonObject["artists"].asJsonArray.joinToString { it["name"].string } + author = jsonObject["authors"].asJsonArray.joinToString { it["name"].string } + } + } + + private fun String?.toStatus() = when { + this == null -> SManga.UNKNOWN + this.contains("ongoing", ignoreCase = true) -> SManga.ONGOING + this.contains("complete", ignoreCase = true) -> SManga.COMPLETED + else -> SManga.UNKNOWN + } + + // Chapters + + override fun fetchChapterList(manga: SManga): Observable<List<SChapter>> { + return client.newCall(chapterListRequest(manga)) + .asObservableSuccess() + .map { response -> + chapterListParse(response, manga.url) + } + } + + override fun chapterListRequest(manga: SManga): Request { + return GET("$baseUrl/api/comics/${manga.url}/chapters", headers) + } + + private fun chapterListParse(response: Response, titleSlug: String): List<SChapter> { + return gson.fromJson<JsonArray>(response.body()!!.string()).map { json -> + SChapter.create().apply { + name = json["name"].string + url = "$titleSlug/${json["slug"].string}" + date_upload = json["added_at"].string.let { dateString -> + if (dateString.contains("ago")) { + val trimmedDate = dateString.substringBefore(" ago").removeSuffix("s").split(" ") + val calendar = Calendar.getInstance() + when (trimmedDate[1]) { + "day" -> calendar.apply { add(Calendar.DAY_OF_MONTH, -trimmedDate[0].toInt()) }.timeInMillis + "hour" -> calendar.apply { add(Calendar.HOUR_OF_DAY, -trimmedDate[0].toInt()) }.timeInMillis + "minute" -> calendar.apply { add(Calendar.MINUTE, -trimmedDate[0].toInt()) }.timeInMillis + "second" -> calendar.apply { add(Calendar.SECOND, -trimmedDate[0].toInt()) }.timeInMillis + else -> 0L + } + } else { + SimpleDateFormat("yyyy-MM-dd", Locale.getDefault()).parse(dateString).time + } + } + } + } + } + + override fun chapterListParse(response: Response): List<SChapter> = throw UnsupportedOperationException("Not used") + + // Pages + + override fun pageListRequest(chapter: SChapter): Request { + return GET("$baseUrl/api/comics/${chapter.url}/images", headers) + } + + override fun pageListParse(response: Response): List<Page> { + return gson.fromJson<JsonObject>(response.body()!!.string())["images"].asJsonArray.mapIndexed { i, json -> + Page(i, "", json["source_url"].string) + } + } + + override fun imageUrlParse(response: Response): String = throw UnsupportedOperationException("Not used") +}