From f51e1db6d4252b56d02ff6f3736d5ead9e092afe Mon Sep 17 00:00:00 2001 From: dngonz Date: Fri, 30 Aug 2024 13:11:36 +0200 Subject: [PATCH] Manhwabuddy (#4810) * added manhwabuddy * requested changes * fix description * remove invalid png --- src/en/manhwabuddy/build.gradle | 8 ++ .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4428 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2314 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 6662 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 13164 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 19522 bytes .../extension/en/manhwabuddy/ManhwaBuddy.kt | 122 ++++++++++++++++++ 7 files changed, 130 insertions(+) create mode 100644 src/en/manhwabuddy/build.gradle create mode 100644 src/en/manhwabuddy/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/en/manhwabuddy/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/en/manhwabuddy/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/en/manhwabuddy/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/en/manhwabuddy/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/en/manhwabuddy/src/eu/kanade/tachiyomi/extension/en/manhwabuddy/ManhwaBuddy.kt diff --git a/src/en/manhwabuddy/build.gradle b/src/en/manhwabuddy/build.gradle new file mode 100644 index 000000000..71fcd6d4c --- /dev/null +++ b/src/en/manhwabuddy/build.gradle @@ -0,0 +1,8 @@ +ext { + extName = 'ManhwaBuddy' + extClass = '.ManhwaBuddy' + extVersionCode = 1 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/en/manhwabuddy/res/mipmap-hdpi/ic_launcher.png b/src/en/manhwabuddy/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..86d547ad90c5a34ac7198289066f14e53b606a3f GIT binary patch literal 4428 zcma)=_dgqs^T&l)CB&%4C=#lQnpL!BsJ$ij45bt;d8^clEjCrV#NMk2RlKbjDMf45 zcvIA>qE^)iU!VWr`@{3@m;2=&caOW*U97R87U%}o4GIbhkdC&7>9yDXA9OU=7P-@; zb?xY1YFnWxD42-<1CTDt#7#i~zSPlBLtx(RZZ0_<^?RM^UhUifZkYbd-?)dL*e?*oW=B;53r_%fe-<8#v+DKo` zFkWEGkpREK{}1EBmVlclQ57h}d)DS4wI?h{RdQ1(SLF1)ymSha_?~bPk?^>lW)ejr zvW7)0l;T0sMwjkxEkqTp`lT%JB6x1Gq6ni522zPsXw*`>Yy+vnQ8=J}E`9L;^Okt= z%H73}uM1LN+~a?fP-+Mq7M5PI5k--Kl9PTaU zdI={u_*qjq8cP*SJ*+3{c^kIVtHEjsVL+IkCED9UUF9Mnk!^w6d%$ ze{3)P8&OFI~&Na(J@VUvY(Kc}G- z+e;EP-nAgh?elm30myW{gOMYnl2RvoJoN$8rO7IRh0+=9JQP`YC|dQyS0TLnbV9cj zKC5~0+u<&kii>Wv3x*|Kff$#Z&SS7<(eORN{y#Uo)UrGhu|MhuV#G5tSbE z`s75*+j#3_I43D4NZ1EcD_O0|LZ4YmAy0Or2?8z*(9+TylsrM*VL|&0nG=~~q0JK$ zA468|0+25XV9$E3S&Bckpj%$Nzy|`i^Ls2;Rw0k_~XHji36$~=5SPhgH zN|OI&ob>2IvR=XT7CkW=C!aU}@sy3ne9?y;#CR`EtP$z1DqU>2mtuyP>lA|z&w=>|CzKTmO(T+*DI{!+8E_7 zNKaj;UPL#aAf!q$Bhu0jaB9IAW@~%R=4IXDS8o%_R`w>3tLbQKZ2GLqvAy(aHtI~F zPd`1?w*mf8xRr21>lSi=pb22$T_hIHDh!6=R61ACo;-FN=4SdRP~K2&g`=^wCfF}0 zT%;;PC>`n}xnHbhnaWjel2g=@g=Hz{oL6Z|MAbFXL>&v2(W$Ge-@fa_;+9EC%P0TI zN6Tx4RGzPH;89Pr=Fc=c^oLaltwG+XCP+|IK znz!+=67Mq|g&%ZnobkWT`4FHK;{d@Q-#dqi3CI zmHn53r`)gDnf`Ww0hOrQwZ#3-j<&#r))V~(tWWH$X*L&JaKHf|OA3|Ou$2XfAcfq9 zgSOlKSvl3{Z+HE)YlOU$vN2TH$0RAOwA$Los67c%_5ipOS8p&ywa{kJE3_6fGBf?I zOvV#ClP@8_UU1#jswiEf&o>9o%10w#lR^Uj0TmZt2Z5k4MrLLzNhR6Xen};%f!saA zgV7@~fHB+hJ{B8?S2|I=%MVVz@_#tGQS^4muQyC&{Hest7;4 zCJgS=W{-UV=tuQ~9Z7ER(YeO#frPHh38&Jqe|cN-(HUbTQyuwL&mw&x^^8{E7`NfcUqJYlwH_HLG_#*ZHsSh4k06O*$Gyt(l%#CjoO)tsv1 z&4+qrIuYj$a%7HtXocL^7dPR@q<=%RN(EZ_j;`XeKbK1h; zxXRg;@Z5!mp0yLOhWk}PYo?5$QnrovrL-FOfn(`g*kEQN=1;oALECoMr^Q%O%YUul z@lWdLYB@H``cN(rlf>K?WSb)XvzL0Rt$hnZ2j`$KldtEF8*6uYK<7o4~k3nRD|sN6i?CJc&l4FO@2ks zH9(sfB-E!0oyqE#OGU0l$t^CwsjhQFd9W5wC8<^FsOmzZZ>I~J&$}KQ#NXb9Qs&Pd zQ!ce_^THzi)X4>L$618z$aP8lpFQ1*TAhw$y()@tNo@H%`0t;#FT>yO`_tF-zX8+| zyp{y{p_#*e2pCI`^*l`zh8ZU*BR6K?&=qwmlEv@n(m)$@UGf9Cl7y5WtMS5D1@n`V z+rYP^^|rIdc=@%rY*68k9gSu^Vjzdqz_)ZIWMGY^Scd3AzzO+!wjru3ti|GvStR4c zmi}%(#;hkwC4e^X18Z(`0^rgbxFz(2%PSW1^k6hPL6Jyuk_B%gjM~FHrxRv8S9okj**&Ci6!sW$bbNC&a?}o9@$s7EDRQyy1;b zpZPN#Iuc{LuIzXNf75!ZT-m~_mA78y9|cFgj&O`6zC1tSbKEe(QxgS@`eYWl^E$5e(Q1;5zh~a!v=k9|W;wja{o1q*L zuTa{+F8_5Fv=)Q$wXk%IPibFBdQK2Dv3gx-u-cg6gbLt$k!)lv8y$qW^IU*35p%kh z`AzO|yl$W>jxKOu&@5$(<;AzSOv8@;fN3+ax@R2M9Y&_+dh%{W4@OP zEGs`Tv9={Xi`I2)@J@#KKOlXN-|})_N| z6T5$ZO6Ae`v=@jNF!Tk%Tez?I}VPXW59`3XM?F;^J0c3^x?2E zMw?-}-GI8FzEw^~`7uG_hwl*wgLr3(CePR38Fc9$>E=SNk4h*p;$S_jQR>dEJflqu zsW`FoTO5{_mX73)vK1Q5^K#}3TW>T$A$&p{MxuDEKX|NS z)Mje%IUT4o_%DfAriz}Xe{INrO8k8xVgF+=S*2$HRLlqheVv)1RRsfqYO1A;k<&2y;A7-M zLi(dxTg`qHPgst+o%)$B`|R{u(h}G}-%ugndX+!fOZHlX;+LT>Xkze-F@%(!+cYq1NzAFJc~XRPr9!nF{wYVl%keQL%Y?M6W2h+7^74TwaXaZNbE zyGFM(yvno|VR_VlxfOhF998O@okP$tf1g@vd(TWfbM`vxP8sxwgqWn9oZkILguv7H z%|qDT0P0pO-<3!A@Q=Prs}FZxa?9lGdR5T@(p{WZA}D|A35QA`+g3$R^{>wzbr2Gf znIU|WfnW`y*44Yi{;u+YMIsw@oy_(luhfTr2Pf}5IxKEfgozAT34~!jRP2wx`Muj) zrLw;Vz$1l`)g8yXnAJZ<(nh(4_B>VIR#y8viPPziJw8%z6*xy$k|)_9i<;javRH`bYQH`Q+$2ZTSchs6sUxTS56 zn{>Jg2HsrxRCN40w9Dvxrfh85rE^`V_&mzv{5d|UlguUjxvFH>p5F5en~0SObL_vl zXr_Uu0iRgK^buHkWRvFRTqCWE>xLS0Y0k!}*_myx4$J>ZlOPX}6R8CrRK-0ccm_Q` s#r)TJl|J!Pf~kGHD)i(3iz~{)%xY%8g}%Y-_Xvf~6GM$UxMTSL0T!unIsgCw literal 0 HcmV?d00001 diff --git a/src/en/manhwabuddy/res/mipmap-mdpi/ic_launcher.png b/src/en/manhwabuddy/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d63f3ad062b57ea29104b3a26c5c0ba79974d9aa GIT binary patch literal 2314 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

n(cm;;82m#p|Xn)&mQ6S|p3bmi!`zB{*0W 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 QQ!s#mj)``Irc2y^0WXHn9{>OV literal 0 HcmV?d00001 diff --git a/src/en/manhwabuddy/src/eu/kanade/tachiyomi/extension/en/manhwabuddy/ManhwaBuddy.kt b/src/en/manhwabuddy/src/eu/kanade/tachiyomi/extension/en/manhwabuddy/ManhwaBuddy.kt new file mode 100644 index 000000000..51274dccc --- /dev/null +++ b/src/en/manhwabuddy/src/eu/kanade/tachiyomi/extension/en/manhwabuddy/ManhwaBuddy.kt @@ -0,0 +1,122 @@ +package eu.kanade.tachiyomi.extension.en.manhwabuddy + +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.source.model.FilterList +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.ParsedHttpSource +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.Request +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import java.text.ParseException +import java.text.SimpleDateFormat +import java.util.Locale + +class ManhwaBuddy : ParsedHttpSource() { + override val baseUrl = "https://manhwabuddy.com" + override val lang = "en" + override val name = "ManhwaBuddy" + override val supportsLatest = true + + override fun chapterFromElement(element: Element): SChapter { + return SChapter.create().apply { + setUrlWithoutDomain(element.attr("abs:href")) + name = element.selectFirst(".chapter-name")!!.text() + date_upload = element.selectFirst(".ct-update")?.text().orEmpty().let { parseDate(it) } + } + } + + private fun parseDate(dateStr: String): Long { + return try { + dateFormat.parse(dateStr)!!.time + } catch (_: ParseException) { + 0L + } + } + + private val dateFormat by lazy { + SimpleDateFormat("dd MMMM yyyy", Locale.ENGLISH) + } + + override fun chapterListSelector(): String = ".chapter-list a" + + override fun imageUrlParse(document: Document): String = throw UnsupportedOperationException() + + override fun latestUpdatesFromElement(element: Element): SManga { + return SManga.create().apply { + setUrlWithoutDomain(element.selectFirst("a")!!.attr("abs:href")) + title = element.selectFirst("h4")!!.text() + thumbnail_url = element.selectFirst("img")?.attr("src") + } + } + + override fun latestUpdatesNextPageSelector(): String = ".next" + + override fun latestUpdatesRequest(page: Int): Request { + return GET("$baseUrl/page/$page", headers) + } + + override fun latestUpdatesSelector(): String = ".latest-list .latest-item" + + override fun mangaDetailsParse(document: Document): SManga { + return SManga.create().apply { + val info = document.selectFirst(".main-info-right")!! + author = info.selectFirst("li:contains(Author) a")?.text() + status = when (info.selectFirst("li:contains(Status) span")?.text()) { + "Ongoing" -> SManga.ONGOING + "Complete" -> SManga.COMPLETED + else -> SManga.UNKNOWN + } + artist = info.selectFirst("li:contains(Artist) a")?.text() + genre = info.select("li:contains(Genres) a").joinToString { it.text() } + + description = document.select(".short-desc-content p").joinToString("\n") { it.text() } + } + } + + override fun pageListParse(document: Document): List { + return document.select(".loading").mapIndexed { i, element -> + Page(i, imageUrl = element.attr("abs:src")) + } + } + + override fun popularMangaFromElement(element: Element): SManga { + return SManga.create().apply { + setUrlWithoutDomain(element.selectFirst("a")!!.attr("abs:href")) + title = element.selectFirst("h3")!!.text() + thumbnail_url = element.selectFirst("img")?.attr("src") + } + } + + override fun popularMangaNextPageSelector(): String? = null + + override fun popularMangaRequest(page: Int): Request { + return GET(baseUrl, headers) + } + + override fun popularMangaSelector(): String = ".item-move" + + override fun searchMangaFromElement(element: Element): SManga { + return SManga.create().apply { + setUrlWithoutDomain(element.selectFirst("a")!!.attr("abs:href")) + title = element.selectFirst("h4")!!.text() + thumbnail_url = element.selectFirst("img")?.attr("src") + } + } + + override fun searchMangaNextPageSelector(): String = ".next" + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + return GET( + "$baseUrl/search".toHttpUrl().newBuilder().apply { + addQueryParameter("s", query) + addQueryParameter("page", page.toString()) + }.build(), + headers, + ) + } + + override fun searchMangaSelector(): String = ".latest-list .latest-item" +}