From 6a404595b602e18c4733aecabf24ea74a2012849 Mon Sep 17 00:00:00 2001 From: h-hyuuga <83582211+h-hyuuga@users.noreply.github.com> Date: Mon, 24 May 2021 06:13:43 -0400 Subject: [PATCH] Add Comick.fun (#7159) * Add Comick.fun * Bugfixes + Improve Chapter Titles and Descriptions --- src/all/comickfun/AndroidManifest.xml | 27 + src/all/comickfun/build.gradle | 17 + .../comickfun/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4469 bytes .../comickfun/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2297 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 6702 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 13193 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 19130 bytes src/all/comickfun/res/web_hi_res_512.png | Bin 0 -> 75667 bytes .../extension/all/comickfun/ComickFun.kt | 490 ++++++++++++++++++ .../all/comickfun/ComickFunFactory.kt | 77 +++ .../all/comickfun/ComickFunUrlActivity.kt | 34 ++ 11 files changed, 645 insertions(+) create mode 100644 src/all/comickfun/AndroidManifest.xml create mode 100644 src/all/comickfun/build.gradle create mode 100644 src/all/comickfun/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/all/comickfun/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/all/comickfun/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/all/comickfun/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/all/comickfun/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/all/comickfun/res/web_hi_res_512.png create mode 100644 src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/ComickFun.kt create mode 100644 src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/ComickFunFactory.kt create mode 100644 src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/ComickFunUrlActivity.kt diff --git a/src/all/comickfun/AndroidManifest.xml b/src/all/comickfun/AndroidManifest.xml new file mode 100644 index 000000000..8250c5ba1 --- /dev/null +++ b/src/all/comickfun/AndroidManifest.xml @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + diff --git a/src/all/comickfun/build.gradle b/src/all/comickfun/build.gradle new file mode 100644 index 000000000..cd4b91cf1 --- /dev/null +++ b/src/all/comickfun/build.gradle @@ -0,0 +1,17 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +ext { + extName = 'Comick.fun' + pkgNameSuffix = 'all.comickfun' + extClass = '.ComickFunFactory' + extVersionCode = 1 + libVersion = '1.2' + containsNsfw = true +} + +dependencies { + implementation project(':lib-ratelimit') +} + +apply from: "$rootDir/common.gradle" diff --git a/src/all/comickfun/res/mipmap-hdpi/ic_launcher.png b/src/all/comickfun/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..f8a3106a53797a446c1e38cf96435739d9f3cbfa GIT binary patch literal 4469 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 Eg3uhYF8}}l literal 0 HcmV?d00001 diff --git a/src/all/comickfun/res/mipmap-xxhdpi/ic_launcher.png b/src/all/comickfun/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..9057665f98a8b3190b31228c9182bbbc8eef82b2 GIT binary patch literal 13193 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 a{zr5fIE(Sr0bgHi0Mg!rGrsW_N67SJjZD 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≷On%5zA_ZKx~IO>u9o z&aRB1FJ%D5CtNFm6|h{NtLjqBlI}f1ahObrffS-J`bYu0TEIwT8V6mw zKKy!%`Cc4P;ob3ym=?(WnxTud9Xacs3`_6fVGJF=d22*t1djlUS~BSc)t06w8!8PM(5+(5RkGKFyr0ftO~bLz@2!#%Xe_D*KZ*-_QBF|D|=stcfkC*q3*GX=n|no+MGKY(OnCV9r`NX4I&jn$U0E$ zGJPdM2XM@qJ(T~`+^(qKo)1kVQ_}Y!tEVgu#U@cc?dT;eR zt@<1}L5Y z#AAhA^6bzcBio|+n&O$87=I7U!VK8Zpzk!~#;a(Bj4ooKGsxoG$or`1ke)4b!1c8# z2zFC6aU@RwIHx2j?xmovo=v;nAP7Y)`5GVy0xfy3D2lAF!3q_&{JJ5o61gNBa z@g^wo+Y4U&4>`hl{Bly>ecaPf!+{g=JkYS^tUvCa^*cQL!2}qePI@{`h4X)c8>$Ol zb+Xk-V$ca{`IN5jZekB`XF!^%iU@%uCXY)+qcNB?OA;mnA13mDtqFN^$|?{sd}c`I zy^;BBjSQIf677;}FyR;Z3J6I69mfo-h^EvHd5_oex36 zR$dfwsaQdp-Zk4ePw?8C7UM-HV%(_bU4C&-{E^h3Rl^NIRJugzPJoVZ0XZV;4)=1+ z8hg1!N6$p*{Zw80cFzzT8lj&9eoRAa7-Asi9qJMK?k$dUAX1$Qh5aXfcB6-Zz-iMgQcD}7f>d|g{w<4CR<%ePv3n7D* zp~$3%q*|CWDPX>;d?Lx_>5{>j5+AUO)rcEYstDYQCgA|A-?P=*jPtgm>iuV@Q<9(| zqwkZ9*xp@MQ1ow>t9toQduEpd&aX>7<0;7@5IWkMY-2y#gK8i+4D|<{YatGer&wmw zh|)pgk>rf@U(X=*uxkKSuV2%SG9SPJ-6pSf(`0YL2a%;|z(K0^f2U6MGIy}Uokx(a^k4Z{6#RpFy=29)M51Uhn!mX>5DAbm zQCNgBbq!Sq6zws)y#fbE2%^8`(kuVBMBcZDR9f{tT3gL0&Um%v&ngmKvDgnsE$|k9 zQa)CF&MBgVw@HjsvGQ{&eL@CZWlxuq(YUrsL#Ysrr{fSN(G@?$>cGVuSF8*>j>(d& z9C)2ttxtP7*M+OA9%z(0%b#dM0S@fA@^EA)UjC~~nTsud$BvhcmB!Yjdf#GJRR60n z(fqEs)^lDXW@f5C*XLC>9ZqpN(5Zg%vaH}vy`V!+k}3rg9ez2MVqp=Zczb=7o4uZ_6F_hQZ0Jw(ul%@`}AL2@ZfmI?Y}#vdO98mvU^dba(`=d*2e&ENpsms8J+ znO|~IANewhzsR2j9{q+Hl!GRY_G5A zEVeZ()rMOiLkFR~oCF#zv3I<3)WOL=DXBq~Mk?6Q0iTHI!j9DfNmyR?x8yu~9AXoh zNhRhv;bkZ#Rz451xEDC|Q4cTt_;iO$oP%l1Kf69iB7~h$t&#%EKn8Sy*hi$9d*(P; ziu)OP;@*dr;vYEgu7T)l1wg%1ANm$$A&gsR_cH6y!|22tfTj$4T&XJ42=*^ruCa+hAo*ofeVjjXhG!B z5@^$p7aJ3mBt3aJio_xxaupq|6xuoPh;yT*$j$btC`SPpk?Jof=zhWo$_c-&nE>nH zsQl4Xb=m1yAnRsMY8u7$;6d~fkmG7Hp7m{^ol`}C^8=OmT)O8EXNE@!FwlmEaa3{v zuV3008^MFi>2$ zCq5a-h8E@A8sc3B(ij=?lQS(B@MyRZrhNL`O_f^s?rCO&&=>)#M>rmU&&GFxRCM~!rhNq#xra8U z|7f+FpM!G2dAn;U8GU(siF7VQeySpPnSxsA-|hCk_i;E-AfGuKGCw+tJevn^{s57o zN*t$DUyC~vgeW4yDb}op9q+4rjohA2`H+iOUIp+cWJuM1hEl0y#LtYZf1*@$otAntf_p^VE1V=PEeRRAnwewUTb0{(4eGrjp&b>t_ zek&YTYCFU(#&G`Wt;&+8IlLmIq2YZ~FX(5jJQFYnhoSssY;;BTtl5+P5R+G`QkHa@Hn+2t_O zBd6AX{Gj$1w1lBUI>=?LF;#2;z)}7&OZ8>ipfNYb6O`SjQVa+%`58p$6N@HqUeI>| z#%Ov@FMcLJPSA~0;u={QfiMt6BuX0LX@o3)RdwUU8cOadye>+g8gA(u2kJ z_O_AvT(Us8+ahGsKOTpo$`9yMR|>UpU|Tm`zw#oK@@2f29|wb>qdB%3p-R2qO9Aiv z$)cO^<)<3|zZ_{36l*Mx3^<^~wkk6fG1(Y-2Jk0ofV zRh7d_Q8FWSyW#Zok9fJ)plg;ILv2gs#zgfAosDrvHQG&$-u!p37Wgbftc@}~v_tRL zKzOG03>0Ev<5x&0u!{?@eu~4;c19nE>0*X0kU`p}P|#aOk4>t{PI?f2P4T#*Zh(f< zE(MwPDrkz&TvULbOrk$Jj~Yv)>V@zAP~mOeKFWFZD_;Cd=s9x{JpKB468NLo^+O$; zKTs@oGMe@`#&%u51r-<`X`h2ab@9&t<`;P^OYsO*6Ed-dcDqUo@?~X)oSJ2YKq))7 z4J;`dKGQTdEP%Tgbqj_@ii(2d#C_A2BO_5*$0mpdRKksafPAD9`w{~gN(J5}4yLGQ z6npIICRhZQ&8v~Bc2w-UOdQs$7wgZvc>SbLSIwOFr(rseFtwZbNMWM%^ zXp|HwGH9yxkYmQL&iUG;J^}K8j*$e=>eU=hL3>X6y;7*NhXfu^)FVdD=vzV;t7uQN zQ{zrtTi-sHs7NzI{>zhne4pYZfQLk8&VajECZ!|SmHZrJ@uFml&~~RV7BBf0`7m|; zUI^S#i3&L0pW|e!XZs2w>z@1SWbUh~$4x#{Bd~lJyp)k~vzZ+M7hkDRMsD@QAwsUV zYVr+hNwHeghzV@SPMQEm?R5Ab^u~~aU{1ONJ}>^wit+{l?bVudZ6OBOOUsJY1xu#9$?5D#1a4*dDCzc}>rukSXg6y*Y|_Bhr5$ zG)IHci$YFwgkbiK3Joj&oSU&SiK2@LWB?n6GV^;j<3wrlq%r#WGo>0`V@gtW0;S(d5ulMUp z?1%VUbD*zgE*V}caTM!QQjAim%=rTiV-wMHk{{sZpqkFFDe|*0%iW7Adbop!6pHR3 z`ta@eLH4KIk>^Mrr}x4fAE%}NX104y%{2&(o6H3Xa{l*DVqQseR(TyflwKxJ9_t<_ znSfZ|&lUeNbh|T*bI^o&mTI&XyEMAD69R>@wA5sCn%@J&y|C@r{iOL4|Ag)+X*=3MuoAxrh5YSr0_2;fv9G*9--blHp9?F%U2f$ zj4BOz;jL#Yme;-mbhig+K~JxD%I{3Oep1m)+HapT3Y=`mJ{}ki3f)>l1wP{5c z;+Nx*Kja3IfRk9GDDs=irSEAEay6SHCM7GIQu85m&5JAX*}(^6tc@?0s(|CYbiRsd z-&kVSEO>0olvXKbePjk30W@RR_k7~I!DDBA+YnrY1(Yy?`H!$3V8KpmGEd1m{w*Hy zx6}`8EjyA5diMy*Kn-+ROLSpt@sZJ%&w+ewA533eV<~$#&xSJ#&M|yv!jq~Fm2Iq| zqxmN9!u)VAr>k@hJ~Oj@*&Fk{{y_O?4S;Ii?i^i9?f45K3aYXtedBS~u2r5986guErzz$PhbXlos#dD_nE4{F2 zsB>+VaF=$#No8DNx@{(4^~7le`S;h48@N-0X|P0F$P@tw-9tvypGO3=$Qh(j;11)G zpcD@NQrIRQ#)=jyMoEaSpyNL5pRSq|tGvHDP`mm>>E*(xr<5Q5A$ro6Aq{7Xnc8>~ z15m{FrD8W)=LM;rTW=w!0Af4)kS{UI7?sbRM^=UpP`M>^h4YViQ$k5ns@zlP1FyCt z$@?=;@lZ+gOLz9vPX#>>z)Esx%wKA~u+8sc%7l8JE!VcJGa%P$>hAtuZ%z%a*#Mb&6 z+9JZb>3Lc!QL&*XT52%f1>XCo%#ryPQxY!Q)u@^pj&Oe0q7vj zmX2jI;2Q%gkVVyZz2wCp#=%yYKP9vkzKRc$wa7GkmqWn4h_b$Kpk_96DATz)~Q6_jD> z{tFOZ!5b>4b19(S4KTYPjK(EmX3CvQo;G5!+>w6+R|gu_B15&GFy*+8=3tRyW`2QV zd&B=a#ezxsACUnxnAYj;@a3ly_@E}YPE^j~0ZebXdLX*|5PDi#)0>`47$wQ9hYaXc zP`Ev-#s^G!U+vfCLg++YGI^&oD?)_y9+V|>L_IlsyXqmF-zZvB;nhb6Pqf zn!d!Zy`bQ(X8h=uoGd*QaWJL4KXZixSmWa2Mq14je_O}J+I&_x5t}D?psGK-K!b3) zJJ(6pF9-P!YR!?Q@2gaaN&4c)1xh7mdW|gJIgkPrF-onD@r;MQeX>pQYZ&6!q!aX< znYG9c3qKDW$s-X@^Umj;vTv}yBa`#?LK3{+N8jGrlZCq^@PmyGNQdsbt(7$#1To@} z;4+rd?(0?z)j}BTdLoNX3h|=N;8Sv*KXHBn0$i9befEkpFtT(x9PDNKlb$9N&oJ7GsnkUL2bEG*b=<*z?5cJgVXHmMj8l02DiqB>l(Sp?N~sflxn^7K=JOg(;y ztnlED78bZ(EchMFAmBNA0)Dv)o7tc9i*Z?p>{J2qSuzt6OuVmpRaJ`<4y*Sj=F*y~ zExO1U>b003`|HsUj=KV$i$-hifdD&pFROz69=!nS5v-ezUiZpZfhP?_GRPPSh|> zaAdOCbgVc1mTC6QIZiv_@>uE%XT~QE%5^m%Ez}~D*Vp-(617f#`$*w#Bp1_Q0huL_ zY)hAkSQWxo|HCe}Wfd#*jxU(n=haKNuQ(|RwA7TpC9!5U&mzwJ{?3=OvEV$1ph!hhWAK7TFu{9B0D6N4At3NAv{O>;+W!n`FCp6{d^>?hRK%WPnmhn2iUWp+x`TeovId$92RoSh|voU77&I}DiTi8ypYXAy)ZR*ig&)_t65rN<7ejmQMH-NL#b2|J0ve%J_kuvnVqWbog zogG2;s-^8$^PTwF?cSg;a?Jo^zvN!*nDNkSYgb!gjcur9yd>%psSjq?(kk?1;u5mG z6zr@nav}u1_*iI41~_MX`M}9zx>%4-lG~|A^K;Z){8=TEdK2RINz(i0z>!=#%gr+h zjan@D_LN{Q)GzE|L-pZXyWUzexv$P&g|K5>VBY4RR|o|SMd!^zaLqB3vzP71I#P^M z!2E@u`jg7}?LCe%2O{^SvJeoT+{&vk1D3H!l?|iM*I^BDN@WEiNkJY*Ey& zz!Zgyx(RmT`n=STcQ2Ob?=rt#UTzauCVqS)i)leR-A)UyNA~UiU}PQ&#Tquw9Qv)N z1iFjGWvWl>5?)cCI`QozI-|sU3f8;sFmn`k01_| zg99Q_g8AlGh`}O4eZ~w!RvC$xe*2Zs@|Oe5V+gLF;rVN`SMFJBYoIf!9;TeNu7UP8 zUXV~$+c*Xl${SGMB}?;Yd};o WkGpI7Ta~Eb@V?0iN6jc=3m2lT5-R|Ksa`t% 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 + + final override fun headersBuilder() = Headers.Builder().apply { + add("User-Agent", "Tachiyomi " + System.getProperty("http.agent")) + } + + final override val client: OkHttpClient + + init { + val rateLimiter = RateLimitInterceptor(2) + val builder = super.client.newBuilder() + if (comickFunLang != "all") + // Add interceptor to enforce language + builder.addInterceptor( + Interceptor { chain -> + val request = chain.request() + when { + request.url.toString().contains(Regex("""$apiBase/(?:get_chapters|get_newest_chapters)""")) -> + chain.proceed(request.newBuilder().url(request.url.newBuilder().addQueryParameter("lang", comickFunLang).build()).build()) + else -> chain.proceed(request) + } + } + ) + + /** Rate Limiter, shamelessly ~stolen from~ inspired by MangaDex + * Rate limits all requests that go to the baseurl + */ + builder.addNetworkInterceptor( + Interceptor { chain -> + return@Interceptor when (chain.request().url.toString().startsWith(baseUrl)) { + false -> chain.proceed(chain.request()) + true -> rateLimiter.intercept(chain) + } + } + ) + this.client = builder.build() + } + + /** Utils **/ + + /** + * Parses a json object with information suitable for showing an entry of a manga within a + * catalogue + * + * Attempts to cache the manga's numerical Id + * + * @return SManga - with url, thumbnail_url and title set + */ + private fun parseMangaObj(it: JsonElement) = it.asJsonObject.let { info -> + info["id"]?.asInt?.let { mangaIdCache.getOrPut(info["slug"].asString, { it }) } + val thumbnail = info["coverURL"]?.nullString + ?: info["md_covers"]?.asJsonArray?.get(0)?.asJsonObject?.let { cover -> + cover["gpurl"]?.nullString ?: "$baseUrl${cover["url"].asString}" + } + + SManga.create().apply { + url = "/comic/${info["slug"].asString}" + thumbnail_url = thumbnail + title = info["title"].asString + } + } + + /** Returns an observable which emits a single value -> the manga's id **/ + private fun chapterId(manga: SManga): Observable { + val mangaSlug = slug(manga) + return mangaIdCache[mangaSlug]?.let { Observable.just(it) } + ?: fetchMangaDetails(manga).map { mangaIdCache[mangaSlug] } + } + + private fun parseStatus(status: Int) = when (status) { + 1 -> SManga.ONGOING + 2 -> SManga.COMPLETED + else -> SManga.UNKNOWN + } + + /** Attempts to parse an ISO-8601 compliant Date Time string with offset to epoch. + * @returns epochtime on success, 0 on failure + **/ + private fun parseISO8601(s: String): Long { + var fractionalPart_ms: Long = 0 + val sNoFraction = Regex("""\.\d+""").replace(s) { match -> + fractionalPart_ms = truncate( + match.value.substringAfter(".").toFloat() * 10.0f.pow(-(match.value.length - 1)) * // seconds + 1000 // milliseconds + ).toLong() + "" + } + + val ret = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ssZZZZZ").parse(sNoFraction)?.let { + fractionalPart_ms + it.time + } ?: 0 + return ret + } + + /** Returns an identifier referred to as `hid` for chapter **/ + private fun hid(chapter: SChapter) = "$baseUrl${chapter.url}".toHttpUrl().pathSegments[2].substringBefore("-") + + /** Returns an identifier referred to as a `slug` for manga **/ + private fun slug(manga: SManga) = "$baseUrl${manga.url}".toHttpUrl().pathSegments[1] + + private fun formatChapterTitle(title: String?, chap: String?, vol: String?): String { + val numNonNull = listOfNotNull(title.takeIf { !it.isNullOrBlank() }, chap, vol).size + if (numNonNull == 0) throw RuntimeException("formatChapterTitle requires at least one non-null argument") + + var formattedTitle = StringBuilder() + if (vol != null) formattedTitle.append("${numNonNull.takeIf { it > 1 }?.let { "Vol." } ?: "Volume"} $vol") + if (vol != null && chap != null) formattedTitle.append(", ") + if (chap != null) formattedTitle.append("${numNonNull.takeIf { it > 1 }?.let { "Ch." } ?: "Chapter"} $chap") + if (!title.isNullOrBlank()) formattedTitle.append("${numNonNull.takeIf { it > 1 }?.let { ": " } ?: ""} $title") + return formattedTitle.toString() + } + + /** Popular Manga **/ + + override fun fetchPopularManga(page: Int) = fetchSearchManga(page, "", FilterList(emptyList())) + override fun popularMangaRequest(page: Int) = throw UnsupportedOperationException("Not used") + override fun popularMangaParse(response: Response) = throw UnsupportedOperationException("Not used") + + /** Latest Manga **/ + override fun latestUpdatesParse(response: Response): MangasPage { + val noResults = MangasPage(emptyList(), false) + if (response.code == 204) + return noResults + return JsonParser.parseString(response.body!!.string()).obj["data"]?.array?.let { manga -> + MangasPage(manga.map { parseMangaObj(it["md_comics"]) }, true) + } ?: noResults + } + + override fun latestUpdatesRequest(page: Int): Request { + val url = "$apiBase/get_newest_chapters".toHttpUrl().newBuilder() + .addQueryParameter("page", "${page - 1}") + .addQueryParameter("device-memory", "8") + return GET("$url", headers) + } + + override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { + if (!query.startsWith(SLUG_SEARCH_PREFIX)) + return super.fetchSearchManga(page, query, filters) + + // deeplinking + val potentialUrl = "/comic/${query.substringAfter(SLUG_SEARCH_PREFIX)}" + return fetchMangaDetails(SManga.create().apply { this.url = potentialUrl }) + .map { MangasPage(listOf(it.apply { this.url = potentialUrl }), false) } + .onErrorReturn { MangasPage(emptyList(), false) } + } + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + val url = apiBase.toHttpUrl().newBuilder() + if (query.isNotEmpty()) { + url.addPathSegment("search_title") + .addQueryParameter("t", "1") + .addQueryParameter("q", query) + } else { + url.addPathSegment("search") + .addQueryParameter("page", "$page") + .addQueryParameter("limit", "$SEARCH_PAGE_LIMIT") + filters.forEach { filter -> + when (filter) { + is UrlEncoded -> filter.encode(url) + } + } + } + return GET("$url", headers) + } + + override fun searchMangaParse(response: Response): MangasPage = JsonParser.parseString(response.body!!.string()).let { + if (it.isJsonObject) + MangasPage(it["comics"].array.map(::parseMangaObj), it["comics"].array.size() == SEARCH_PAGE_LIMIT) + else // search_title isn't paginated + MangasPage(it.array.map(::parseMangaObj), false) + } + + /** Manga Details **/ + + private fun apiMangaDetailsRequest(manga: SManga): Request { + return GET("$apiBase/get_comic?slug=${slug(manga)}", headers) + } + + // Shenanigans to allow "open in webview" to show a webpage instead of JSON + override fun fetchMangaDetails(manga: SManga): Observable { + return client.newCall(apiMangaDetailsRequest(manga)) + .asObservableSuccess() + .map { response -> + mangaDetailsParse(response).apply { initialized = true } + } + } + + override fun mangaDetailsParse(response: Response) = JsonParser.parseString(response.body!!.string())["data"].let { data -> + fun cleanDesc(s: String) = ( + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) + Html.fromHtml(s, Html.FROM_HTML_MODE_LEGACY) else Html.fromHtml(s) + ).toString() + + fun nameList(e: JsonElement?) = e?.array?.asSequence()?.map { it["name"].asString } + data["comic"]["id"].asInt.let { mangaIdCache.getOrPut(response.request.url.queryParameter("slug")!!, { it }) } + SManga.create().apply { + title = data["comic"]["title"].asString + thumbnail_url = data["coverURL"].asString + description = cleanDesc(data["comic"]["desc"].asString) + status = parseStatus(data["comic"]["status"].asInt) + artist = nameList(data["artists"])?.joinToString(", ") + author = nameList(data["authors"])?.joinToString(", ") + genre = ( + (nameList(data["genres"]) ?: sequenceOf()) + sequence { + data["demographic"].nullString?.let { yield(it) } + mapOf("kr" to "Manhwa", "jp" to "Manga", "cn" to "Manhua")[data["comic"]["country"].nullString] + ?.let { yield(it) } + } + ).joinToString(", ") + } + } + + /** Chapter List **/ + + private fun chapterListRequest(page: Int, mangaId: Int) = + GET("$apiBase/get_chapters?comicid=$mangaId&page=$page&limit=$SEARCH_PAGE_LIMIT", headers) + + override fun fetchChapterList(manga: SManga): Observable> { + return if (manga.status != SManga.LICENSED) { + chapterId(manga).concatMap { id -> + /** + * Returns an observable which emits the list of chapters found on a page, + * for every page starting from specified page + */ + fun getAllPagesFrom(page: Int, pred: Observable> = Observable.just(emptyList())): Observable> = + client.newCall(chapterListRequest(page, id)) + .asObservableSuccess() + .concatMap { response -> + val cp = chapterListParse(response).map { it.apply { this.url = "${manga.url}${this.url}" } } + if (cp.size == SEARCH_PAGE_LIMIT) + getAllPagesFrom(page + 1, pred = pred.concatWith(Observable.just(cp))) // tail call to avoid blowing the stack + else // by the pigeon-hole principle + pred.concatWith(Observable.just(cp)) + } + getAllPagesFrom(1).reduce(List::plus) + } + } else { + Observable.error(Exception("Licensed - No chapters to show")) + } + } + + override fun chapterListParse(response: Response) = JsonParser.parseString(response.body!!.string()).obj["data"]["chapters"].array.map { elem -> + val chapter = elem.asJsonObject + val num = chapter["chap"].nullString ?: "-1" + SChapter.create().apply { + date_upload = parseISO8601(chapter["created_at"].asString) + name = formatChapterTitle(chapter["title"].nullString, chapter["chap"].nullString, chapter["vol"].nullString) + chapter_number = num.toFloat() + url = "/${chapter["hid"].asString}-chapter-${chapter["chap"].nullString}-${chapter["iso639_1"].asString}" // incomplete, is finished in fetchChapterList + scanlator = chapter.get("md_groups")?.array?.get(0)?.obj?.get("title")?.asString + } + } + + /** Page List **/ + + override fun pageListRequest(chapter: SChapter) = GET("$apiBase/get_chapter?hid=${hid(chapter)}", headers, CacheControl.FORCE_NETWORK) + + override fun pageListParse(response: Response) = JsonParser.parseString(response.body!!.string())["data"]["chapter"]["images"].array.mapIndexed { i, url -> + Page(i, imageUrl = url.asString) + } + + override fun imageUrlParse(response: Response) = "" // idk what this does, leave me alone kotlin + + /** Filters **/ + + private interface UrlEncoded { + fun encode(url: HttpUrl.Builder) + } + + private interface ArrayUrlParam : UrlEncoded { + val paramName: String + val selected: Sequence + override fun encode(url: HttpUrl.Builder) { + url.addQueryParameter(paramName, selected.joinToString(",") { it.value }) + } + } + + private interface QueryParam : UrlEncoded { + val paramName: String + val selected: LabeledValue + override fun encode(url: HttpUrl.Builder) { + url.addQueryParameter(paramName, selected.value) + } + } + + // essentially a named pair + protected class LabeledValue(private val displayname: String, private val _value: String?) { + val value: String get() = _value ?: displayname + override fun toString(): String = displayname + } + + private open class Select(header: String, values: Array, state: Int = 0) : Filter.Select(header, values, state) { + val selected: T + get() = this.values[this.state] + } + + private open class MultiSelect(header: String, val elems: List) : + Filter.Group(header, elems.map { object : Filter.CheckBox("$it") {} }) { + val selected: Sequence + get() = this.elems.asSequence().filterIndexed { i, _ -> this.state[i].state } + } + + override fun getFilterList() = FilterList( + Filter.Header("NOTE: Ignored if using text search!"), + GenreFilter(), + DemographicFilter(), + TypesFilter(), + CreatedAtFilter(), + MinChaptersFilter() + ) + + private fun GenreFilter() = object : MultiSelect("Genre", getGenreList()), ArrayUrlParam { + override val paramName = "genres" + } + + private fun DemographicFilter() = object : MultiSelect("Demographic", getDemographics()), ArrayUrlParam { + override val paramName = "demographic" + } + + private fun TypesFilter() = object : MultiSelect("Type", getContentType()), ArrayUrlParam { + override val paramName = "country" + } + + private fun CreatedAtFilter() = object : Select("Created At", getCreatedAt()), QueryParam { + override val paramName = "time" + } + + private fun MinChaptersFilter() = object : Filter.Text("Minimum Chapters", ""), UrlEncoded { + override fun encode(url: HttpUrl.Builder) { + if (state.isBlank()) return + state.toIntOrNull()?.takeUnless { it < 0 }?.let { + url.addQueryParameter("minimum", "$it") + } ?: throw RuntimeException("Minimum must be an integer greater than 0") + } + } + + protected fun getGenreList() = listOf( + LabeledValue("4-Koma", "4-koma"), + LabeledValue("Action", "action"), + LabeledValue("Adaptation", "adaptation"), + LabeledValue("Adult", "adult"), + LabeledValue("Adventure", "adventure"), + LabeledValue("Aliens", "aliens"), + LabeledValue("Animals", "animals"), + LabeledValue("Anthology", "anthology"), + LabeledValue("Award Winning", "award-winning"), + LabeledValue("Comedy", "comedy"), + LabeledValue("Cooking", "cooking"), + LabeledValue("Crime", "crime"), + LabeledValue("Crossdressing", "crossdressing"), + LabeledValue("Delinquents", "delinquents"), + LabeledValue("Demons", "demons"), + LabeledValue("Doujinshi", "doujinshi"), + LabeledValue("Drama", "drama"), + LabeledValue("Ecchi", "ecchi"), + LabeledValue("Fan Colored", "fan-colored"), + LabeledValue("Fantasy", "fantasy"), + LabeledValue("Full Color", "full-color"), + LabeledValue("Gender Bender", "gender-bender"), + LabeledValue("Genderswap", "genderswap"), + LabeledValue("Ghosts", "ghosts"), + LabeledValue("Gore", "gore"), + LabeledValue("Gyaru", "gyaru"), + LabeledValue("Harem", "harem"), + LabeledValue("Historical", "historical"), + LabeledValue("Horror", "horror"), + LabeledValue("Incest", "incest"), + LabeledValue("Isekai", "isekai"), + LabeledValue("Loli", "loli"), + LabeledValue("Long Strip", "long-strip"), + LabeledValue("Mafia", "mafia"), + LabeledValue("Magic", "magic"), + LabeledValue("Magical Girls", "magical-girls"), + LabeledValue("Martial Arts", "martial-arts"), + LabeledValue("Mature", "mature"), + LabeledValue("Mecha", "mecha"), + LabeledValue("Medical", "medical"), + LabeledValue("Military", "military"), + LabeledValue("Monster Girls", "monster-girls"), + LabeledValue("Monsters", "monsters"), + LabeledValue("Music", "music"), + LabeledValue("Mystery", "mystery"), + LabeledValue("Ninja", "ninja"), + LabeledValue("Office Workers", "office-workers"), + LabeledValue("Official Colored", "official-colored"), + LabeledValue("Oneshot", "oneshot"), + LabeledValue("Philosophical", "philosophical"), + LabeledValue("Police", "police"), + LabeledValue("Post-Apocalyptic", "post-apocalyptic"), + LabeledValue("Psychological", "psychological"), + LabeledValue("Reincarnation", "reincarnation"), + LabeledValue("Reverse Harem", "reverse-harem"), + LabeledValue("Romance", "romance"), + LabeledValue("Samurai", "samurai"), + LabeledValue("School Life", "school-life"), + LabeledValue("Sci-Fi", "sci-fi"), + LabeledValue("Sexual Violence", "sexual-violence"), + LabeledValue("Shota", "shota"), + LabeledValue("Shoujo Ai", "shoujo-ai"), + LabeledValue("Shounen Ai", "shounen-ai"), + LabeledValue("Slice of Life", "slice-of-life"), + LabeledValue("Smut", "smut"), + LabeledValue("Sports", "sports"), + LabeledValue("Superhero", "superhero"), + LabeledValue("Supernatural", "supernatural"), + LabeledValue("Survival", "survival"), + LabeledValue("Thriller", "thriller"), + LabeledValue("Time Travel", "time-travel"), + LabeledValue("Traditional Games", "traditional-games"), + LabeledValue("Tragedy", "tragedy"), + LabeledValue("User Created", "user-created"), + LabeledValue("Vampires", "vampires"), + LabeledValue("Video Games", "video-games"), + LabeledValue("Villainess", "villainess"), + LabeledValue("Virtual Reality", "virtual-reality"), + LabeledValue("Web Comic", "web-comic"), + LabeledValue("Wuxia", "wuxia"), + LabeledValue("Yaoi", "yaoi"), + LabeledValue("Yuri", "yuri"), + LabeledValue("Zombies", "zombies") + ) + + private fun getDemographics() = listOf( + LabeledValue("Shonen", "1"), + LabeledValue("Shoujo", "2"), + LabeledValue("Seinen", "3"), + LabeledValue("Josei", "4"), + + ) + + private fun getContentType() = listOf( + LabeledValue("Manga", "jp"), + LabeledValue("Manhwa", "kr"), + LabeledValue("Manhua", "cn"), + ) + + private fun getCreatedAt() = arrayOf( + LabeledValue("", ""), + LabeledValue("30 days", "30"), + LabeledValue("3 months", "90"), + LabeledValue("6 months", "180"), + LabeledValue("1 year", "365"), + ) + + companion object { + const val SLUG_SEARCH_PREFIX = "id:" + } +} diff --git a/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/ComickFunFactory.kt b/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/ComickFunFactory.kt new file mode 100644 index 000000000..b5fe74e83 --- /dev/null +++ b/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/ComickFunFactory.kt @@ -0,0 +1,77 @@ +package eu.kanade.tachiyomi.extension.all.comickfun + +import eu.kanade.tachiyomi.annotations.Nsfw +import eu.kanade.tachiyomi.source.Source +import eu.kanade.tachiyomi.source.SourceFactory + +val toISO639 = mapOf( + "gb" to "en", // English + "br" to "pt-BR", // Brazillian Portugese + "mx" to "es-419", // Latin-American Spanish + "vn" to "vi", // Vietnemese + "hk" to "zh-Hant", // Traditional Chinese, + "cn" to "zh-Hans", // Simplified Chinese + "sa" to "ar", // Arabic + "ct" to "ca", // Catalan; Valencian + "ir" to "fa", // Persian + "ua" to "uk", // Ukranian + "il" to "he", // hebrew + "my" to "ms", // Malay + "ph" to "tl", // Filipino + "jp" to "ja", // Japanese + "in" to "hi", // Hindi + "kr" to "ko", // Korean + "cz" to "cs", // Czech + "bd" to "bn", // Bengali + "gr" to "el", // Modern Greek + "rs" to "sr", // Serbo-Croatian + "dk" to "da", // Danish + +).withDefault { it } // country code matches language code + +@Nsfw +class ComickFunFactory : SourceFactory { + override fun createSources(): List = listOf( + "all", + "gb", + "br", + "ru", + "fr", + "mx", + "pl", + "tr", + "it", + "es", + "id", + "hu", + "vn", + "hk", + "sa", + "de", + "cn", + "ct", + "bg", + "th", + "ir", + "ua", + "mn", + "ro", + "il", + "my", + "ph", + "jp", + "in", + "mm", + "kr", + "cz", + "pt", + "nl", + "se", + "bd", + "no", + "lt", + "gr", + "rs", + "dk" + ).map { object : ComickFun(toISO639.getValue(it), it) {} } +} diff --git a/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/ComickFunUrlActivity.kt b/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/ComickFunUrlActivity.kt new file mode 100644 index 000000000..4bd07c9fc --- /dev/null +++ b/src/all/comickfun/src/eu/kanade/tachiyomi/extension/all/comickfun/ComickFunUrlActivity.kt @@ -0,0 +1,34 @@ +package eu.kanade.tachiyomi.extension.all.comickfun + +import android.app.Activity +import android.content.ActivityNotFoundException +import android.content.Intent +import android.os.Bundle +import android.util.Log +import kotlin.system.exitProcess + +class ComickFunUrlActivity : Activity() { + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + val pathSegments = intent?.data?.pathSegments + if (pathSegments != null && pathSegments.size > 1) { + val slug = pathSegments[1] + val mainIntent = Intent().apply { + action = "eu.kanade.tachiyomi.SEARCH" + putExtra("query", "${ComickFun.SLUG_SEARCH_PREFIX}$slug") + putExtra("filter", packageName) + } + + try { + startActivity(mainIntent) + } catch (e: ActivityNotFoundException) { + Log.e("ComickFunUrlActivity", e.toString()) + } + } else { + Log.e("ComickFunUrlActivity", "could not parse uri from intent $intent") + } + + finish() + exitProcess(0) + } +}