From 24087b968821313a97b239a7cbfac2beaa46c94a Mon Sep 17 00:00:00 2001 From: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> Date: Thu, 29 Feb 2024 18:38:03 +0500 Subject: [PATCH] add mangaonline (#1610) * Add Manga Online * Fix note about latest manga parse * Add new line at the end of build.gradle * Remove blank line * Fix global search * Remove extra URL builder in search * Remove URLBuilder * Add try/catch in fetchMangaGenre * Set latestUpdatesNextPageSelector to null * Rename constante name and remove breakline in GenreList::selected * Remove fetchLatestUpdate override * Replace 'runCatching' for try/catch * Remove 'headers' * Remove unused import * Remove last blank line * Rename constant variable with uppercase * small cleanup * lint --------- Co-authored-by: Chopper <156493704+ttony2chopper@users.noreply.github.com> --- src/pt/mangaonline/build.gradle | 12 ++ .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3361 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1926 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4588 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7900 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 11197 bytes .../extension/pt/mangaonline/MangaOnline.kt | 204 ++++++++++++++++++ 7 files changed, 216 insertions(+) create mode 100644 src/pt/mangaonline/build.gradle create mode 100644 src/pt/mangaonline/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/pt/mangaonline/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/pt/mangaonline/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/pt/mangaonline/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/pt/mangaonline/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/pt/mangaonline/src/eu/kanade/tachiyomi/extension/pt/mangaonline/MangaOnline.kt diff --git a/src/pt/mangaonline/build.gradle b/src/pt/mangaonline/build.gradle new file mode 100644 index 000000000..c440d22d9 --- /dev/null +++ b/src/pt/mangaonline/build.gradle @@ -0,0 +1,12 @@ +ext { + extName = 'Manga Online' + extClass = '.MangaOnline' + extVersionCode = 1 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" + +dependencies { + implementation(project(':lib:randomua')) +} diff --git a/src/pt/mangaonline/res/mipmap-hdpi/ic_launcher.png b/src/pt/mangaonline/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..56f7c5ca636dae101b577dd4a6901fd330fddf8f GIT binary patch literal 3361 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 literal 0 HcmV?d00001 diff --git a/src/pt/mangaonline/res/mipmap-mdpi/ic_launcher.png b/src/pt/mangaonline/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..64e854b44e214e9c60d832c97848ad1a4e5d238f GIT binary patch literal 1926 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 M07*qoM6N<$f{KB7jQ{`u literal 0 HcmV?d00001 diff --git a/src/pt/mangaonline/res/mipmap-xhdpi/ic_launcher.png b/src/pt/mangaonline/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..eda32d4c35574cb9ea295b6cd05306af809a2d65 GIT binary patch literal 4588 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 WLqjtfT=JR#0000<MNUMnLSTaI{gI#m literal 0 HcmV?d00001 diff --git a/src/pt/mangaonline/res/mipmap-xxhdpi/ic_launcher.png b/src/pt/mangaonline/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..61ddad7960d848ef0d0b4098c49643f1fad94fed GIT binary patch literal 7900 zcmZ{pbyO7Z`}b#;1(xovC8Y&P0cAmI>4l|1SQH7t4=E+E(jkq~p)@EU-N+IWDlH3$ zNSAa-^V{!v{(k<LnRDixx$n8Id0+2&-S-t^sIN&u%1R0V00lxz%?N)@`riR1!k^bQ zmYM;8vk;-Cg7SO3lS|x8uip4|8_WL~X-F;#6&8Ra;nQCqsw2e<GQ0xTav1WRB^|%) zXFl{&GgGHQfGbBna<vUbi3=j>`I#kCP=4#S4;)KcOIzD2+Sc?JhU;w=(=&%ow!QRC zax1E6-&T%;g)9q%)qiPEYLi8i!Wp1O4RFE&)OWKOYfu>$Ucp!fq*a^?CyM|k%vw`m z28@x6Ex#vW0VzSbWdYc*Vy#lG3P7P@CS;TRaGy-G3Jqr<d3w@>!`jyc6;O3lQ7K!I zc-{-5|JUY`YvUtaS{O{!B_)pHFPLDoGoLiL+JSti2MAwxcd?Dd8=Ppw6@4FeuB;-A zA?&uu4I^4u{?Ga<let7XcgTY!V@uqowcdHY^`yka#DsXFLu8(#JSqD_(es}h!%mk$ z=3nQEp3upXO4}$jI!8rJuRhPpXHB@diM>E`&+lCyeB~-Mt$zGqZ^A&?Mtk!%nLwC9 z4FNJ*bk-$wZlBOsbTf!(ckPR12nxB}Y5G}d`iT~0cd(ux5{X@=6`kn+Zj>imGZSvI zjcfLJg0!&_%aVC6;Ns#E>^f7sYNeMY-SXt(c+*($SAL74q#6Ps#Tw7I`R>g_-(50^ zSxz4OTL}4&{^LitRX4>M*&wFHZ3POZ^Y=C+c``e*4OWvCCY9Y>LC0gb96qpC46K&0 z44RksAn=r1$m@2gFHUhr3uL8L%lNzGkq*PpM!iW-YBk#=X@%#fe`o$PQs@#%85rW! z22(G=-AsHpM$th${<uWt8$SpFhEr8f*IV{@IwvoVZPViY_{eR%ktCZ4X7v2|Puq~| zv3OP)h5r_@5exV+T*9A`8UD5_A<ur%vij};NzTF3qscTfPNv*<CA^aXbKaeLIHR|T zt{)h-Ki2(7ej0FPt52#zTV5z_({$0P1EwxApli+c+5Wln^S{pXH58klD_dcX(I8<? zF{DrZTz2MZ>Q^l=MM=FW5z0bT32H|`J#qjPlz7YS{c1T9QNF!8((lgs5Lto<_G0<k zukST>E<WxK(l%$^{?zpQ8&~kzd#dYB9%34{NsY!NG5GlD>*M!rgfsA4ixy7@D>_L| ze*csk)1e=q-=?h!#_8pu(awIi^R*7cjindjBcSkeZaC^5rl2!xVm_sJ!7O7vh5+_` zPd5JP+~x^?yB-@ZvQLRdufw~b(fnPiDmgXPHm^x$JR}tK{geu*m~ro+U{Wh*`f*?U zjb8Ecc)gy8&Z13Pp8y4=PThpLq#ed|mCtYx2)&*F)0Vl-HQK5zk=$pl4W}Vi&6%uq zF8hdJWpeP%Bmzwe5mQf^=Ymj=fFMpnL(@M(GH`JPsgG~O#}jnIfZ3eGTQOqfASi`M z8pRBfRwgfKjVzr^N>jLQ)~9T&8y+hHQ?re4jYoR13DOqGyDy=Pf9;90&N^@wizn(B zVqxFN;TB<~lSVxz7poXUvA`M7J<y%q^2Eyr!c=A)e@LT^W~Hiz${H<ZfLXgR3RO24 zUGAqy1X#;x!y079H7+UiWDOLXYUo3fSb0bO`DO-&_Vmj$#{W&lr}b+O@kM81w8Usi zfGWGDs(@lG^FBuROH3H=u5bE&^HzpuaVjHL7nEk=XZ^BjxZYJ^LExhvixenH1pj!V zUQdzCxXu*Xy2`VtdbrLNNY*Jj5c~!qPnAHR%xE`KR*WfO*19ZDIbl|tYI9*~`)j4| zy38heeVflx*%;97#sq@~C;h(q-5+?QU#z&jcUBXpjrVjIN2rLmU9gC<rDqQh_y|UD z=R0F`{~&vk5|cNkD$|`7Iy;<Z>&yRA|H6db3TW;t(K{KQ)x$&|vhbV<CFjSrAIP1S zp{rS69DbnR>-d+KA?2uFqs;T3l%PsIj`71@UQnOxoGY)Ea9q|q8BZ?8p}|!&us_&D z+H9#IE;kgrcW^%Am><*hJ3uGtD82fdc+q2l|D_$rUGIqa6}Z>&!L}>-ga6T5CnZ!n z!)~N<T+{K1yZ@;FMnQGgjpg6g?W#~&2))YFIia?_&r!{nd2Q;KT~`r9e-T_)>oMwL zg_d$mxldJH)6S=DLl~GI`@Q$OIbWwEpf|171wAEA*mW++bd!AcjrsFV<J_7_M(25I z$Z!Q{d@<{J6;0DZa2qlz9Fe~zFtt>it`XN6bcsD5d_uGp$D!(Geacfo7~P-1A(9}! z1SLV4`=`9hC&9RWA*ozh%l=P4_aFu5J)x&Vlr*ck*LB+|e?0oASUb+;tZd<Q{y$qu z`(Ef+5o=y&aocF;Ui(oMv$PYJ%G_5rBDmXZ{b$yQJ|Cm$Dw{sCyX`R9-+s&OI|asi z;;kecwRYWLkK-}TIJ{fQBcmoi8b1<tD8hA6$;zC?`%T;<;%cwCP;Cx6TSQ5^+l7#{ zf69s{HR$^M$YTD2U<OQor`RdG-tTnAkq~8J{-_m9>R{38T`qt5x32H(VEM>JW%>ZU z`rCg!w~x-?p^$>lUqQvR;b)W)!OM@#IZ6%kxrxX(?si_E&NUDh$U99^_H2*=Xg)eZ z?M1oVg{GHLJ~T{%Ol}C;reB_M&D&LND_UQPIB|xW?EXc~_$2qXezIKUPtpr2EJD@X zB*E*ReW!0|xb92gkNY&ldgs$Uk=MFxsXb#fk{STN36o3Z5%opOdR}TF+Z)eNGt{}H zZrADT^F9{G9PUykZIAQyhVTrjz{ZV*t}gRtCv*?d0DVq@9^@@RqE;bk1oqf2Mmk#e zThu*^A)rz+e04Hq)(>#+;)Nr!+p^B-F~A*_7MlAitHLrzDlnmJ$5zDYZeS01fQY%O zMVyiV!tm}iHY|>xdJ^|IaObUDQQ=VOO(coIw?X*MyRE~i*C=L=K3Y=4oUGWCDhFe< zcTVn!ps1kFWb7uO$}0exq=&62=lsps*5b&-hPhk0HN5r1zXG9K)i<_L#E`Qqu?Y~n z@D$1hl_k+Bs6oaL(s2<dkq#fTNU7z|zf6^yL}DttPIj;5B>fNh%3aWgU;Ctl>R3z4 zu7K!CH?bLb9OI>lIqPPsh_8R-fdK8mS~)6y!#aPZC~;;$djYhl=so@Mpd?1Jy7qFn zEw06Doi%^mZ^vgkuA9k5ZU3w^%WaE|lA#2$FLJY9oapU1!iRBUHYn{r{~&9Qab=@B zf+xW<h_%U*T!UxG4gmD~lN_%f$x=h;bW0{JcHM{eYwdo`Zr)|;MevFWqiK~7pjekD z#x?gG2xe3ZV}psJU$(D-4ucIk3s4*6A^HBRqGg=lh!@u;G$u#8@#?}M+K+bI?88p3 z3;XzdrjzN3Mn$z?tPx@swR~LP>1h)R$ZSn9<I<KAFA_N)tPBW1seAptu~57>s3(C( zzfrgTwz=PGjtYB%yWMz_81rmJ)t=|ID=}CBQzL&lcqe~U_ZaxRvP}f0&V8}!P2aej zps0<Js8!)*R47fJ(jvFp%K3(JW~xtrc=m_D<7_cXM=nutli=i}E8Uu>s@*f%dj_iT z+2hwA*YmBZb|Wr_5r(;kgh&F+v*;TLb^2Ju@n8eO|IG#;ppN*+@e-#3t{>B2<0pdh z3VGkl876&c2#Tq>+RTC97t$hj*Q_Ac`buM<EcUVxX=V7i!kHLk+4-vYY_l|frKh{F z(f;!w;0z0cd>G?-<D`&2j>9DeFw+ZV+hAN#>;UV1&!_ez5I?*WWmHPP4p|WjR<WB8 z$^ZN1<#2;eAzk?Ib06dQU1FkoaqENQ*LVCM`#aEnDhYw5>utPx_Gw70Oq>J$yqDZk zcSqSB&IfNa5}KeDteOb@gzE_O-Td+17>&#w+O#ue**4DL$Je>;L<?Wq3Es`#$tk*S z2CyVNF;F^yu#DFK(Mb_E*POqi!~SybiC;PzQD*Y}?O$ph^$YH8CJL9bBN(%Hfq!S! zW^v1FIds$n<HZn-1d%{61z3qIQ~bXZQ}ZDhUkP!}6D5d3X7O5CAf7|cG{@tD#b|0n zu~}Q2dIdS3aaHe3IRJra^@9jb8Ex8L()2`9yxncB@D^R^Gp6jLg`R)AIyP>}Xf<bv zxQ`)5q!Gg`4RxQYRgRWX0KBZiy;Mmd_w?rKTJB0hx;9I)dxQSX-*ICZsU9%q{w*jT zpkQ}%b#C8veM)yWY2z*2)qHz%xw`ZmSIqXdyK`%%E}ea~`)o}Q-1lc+E`UKcHSz!u zl&9nPna8*=eHVi*qNiF;1&4bt&UwxIOe2Im@V;pQf+%ii9Uk~!pG?P{!DsiU^5i}2 ze+*1lk8PruhoqklP?vL#C~S+ym#Vne8dHsav^b3`N2XY9MqLmXro|G#D`<93KD0no zXA>V@lr{gY9o~r96N;aI_8n(-KUkckk*bJksd9Cti%RjY#K9K=DyZvn%oZ~P5BUOd z%A%sf5WVE9Gk1@}!8^}2&<DVKaxZ{-2A<^9J^a&;GJHfFE-Q<)#Eh0@5Xs}|kx)-^ zpvxBra&!uWW$9|@=P6mR2mbwhzVpyJn7re2*m9b&{-6O(_>>;uMike(l-Y8IqqXm; z2L|$s;cB!{|L^=E1;J^i)G#YQ>3v5k7@PZ<^Whx4Pf;&!hf?cKa0~gvN~dNeWKQtK zrYB-4L2;KliFK=82i3CAmeb(!{COXf?W@I9)tXX`L{72mkfmquOfYtF9PVF0p}(E@ zI7SP2;-;)|0lBsp_Pl&UC183puG~*0F{u=o6nG(P08l3JhAMw`imm4Ho%YM!%cbV! z1iFQg+Yb57qEx4|R|LN&(-ZBDG~mRVfhV)Umpjf@-xbf3ZLAf@Sqj1q-fS=8qtXcY ze9;|kY$l=%-)98i75|Dp9g~pQa$=lNDK7Mk^u<VE(=Fl8ZikHYMHaVX8aLw4hl8`_ z#Nh^+)I}v$rbP)t_erGYIUn^61)v)gl0;d;AhGAQ94|LC_$ZC=xdr-E$NhBH@fKM$ zqDArZw330W(;AlQ&KHz~x+c&v^Y5ZqNrzt$iR8&;-uEhzKl>B5npd4rKmQCHPGVp8 zT{e~C1(*i=#fP3Q@|ZFEm2FQRtF)70u;;i)Nc}+^a$bE!3L-}%KllJ)h57R^8v^Tn z%@KiqW!Mo}T$<{9@)(?%h}8w`FH2!tW9I<0t}{c6UG7EBFM{gF9$V{ed!2M&xk6qA z%TwLCmHX}YsP*#&_ZuSU3npB1bQrrt8)edILC`UhW4GAW`YsVvn4Bu=(^hP<`OI6m zM{cpKK;&=c{=i-Kiy8BI<Kp0`QhHf(IJRNr;pNJ7lf1QcW{uC;xX#_T!enT4lM+6- zP$h{Yi#`PGO22x#g!>BK67T~Ud~p0)#GG^9I)#*)&k*+(BC0JC2=w`+RDmS0-KL9; zZi~qo<S^z8zpYaJT;aMer`as^v7dI2qea-1=%Xmu-uX&|(U2=fro%`NdibfaN{0iy zo_dr=I(~wA0bAu-4E=7jgw!bJqRNPX6qP4iITV;B1p(~<*o*4NimQA{O%3;5(f5Qo z%Hrt^l#uOs!a1L(HGE>of$mgPh{24}H9lBY${W7hWlhehWM21Lf*l5rRsrR!Krl5> zGKQkZt+G18uW7Zp=u4G=F*2*%1gtd>9<-dX6JbSc3;c-{sTwc<`X3~3z}eTrNz~sI zxj&=%*%e!CFAoQZX&E@d%@T=4Y!R6i)$$DQz<C!WNmW>9V5yYxNVzokC99rbX9_XY z;K5%O9QP}AgicXJp=|-_`(V2(A_|YY98?8Y^!hKT*j_br1#EDacb<ik_T3|My_eg2 z)EVb4SZIr0IN)>4p_eKzP0_ech9f!F!LV;<_T99?(Rbz3(M_7^;x=zUp|_H2!S3ib z8AhYHyUK7Skp|Zp&)HRvD!(ixrgN+oC4d%&`+i35K7a-^nQ_1oYoXHTj!ZDNHYm`s zj~%!=5SNvujv|ED*ti?Mo%Lr{U)+>y2>U|^VIZ<10?=+^l(2I}kVMGMx-_lQuO=H- zUU{wV>wgQ%^aWZ`wbUe&e}Gz$04@b*9*tJYr=owRt1&~NKmxgCYc{rib<o%UICg-5 zE~KVhy!lUP5}kak3G>$RUPuUBbBtrt%JYj8HL&?Aruktba6gn-UA!8iO%P8?^G5$; zL?0+zejs%^8#U?;aEof70qk78QzJuWlLC_>#-p48llI`MP_s+-C2sTKh=zP&Hv>d- zi?F(Z5oTHBtweeR2>)j4*Lz$;!CYYH_-9fQ2fy2ORr}vAfwO*=G-CE%N#&8H&GKam zqssY0%akGWJRX57n{O`I4zuZzrdlvRDf^TOLO5ly!8xCy5e6$fLMtc+cg*uIfoOHq zd?)6Wa{Y>|_8zZeh5@g}5qBnBZXlTyrF*mmH8E;3U4Cal+(U&}S5WM>C<E-aA8Sui zR3X_QH2PWrLrrwK5Jkzc=9L>QV(hI+4=mB(@cRS3d4aq9>31jVK}q@%=SPWL{mbM# zHN|h}eFg>KjSRvvaPtXP$t7onsZMvkYB!c^_&F$4Ox9tjYvq3AaQgC>32X$CeJzqw zVWR*_GN6dWMjfDm;!4fTH%_?_ZDSf^45>!xI<BfJ>B(7qLuCQ!qw4M(|IAlG3gh=D zUrd@G=t}48N{*B6iuFivK7Vq#M-^3zCE@Iz=ZSb?6YIeB*cb4n#*Z|yn`Vqp%24Q~ zC5e@-QlgqXraW-@T3FPTIdQKC!2ZWfq6brSa?BEUr%00H`Iw@p`iGFEeMMIqB<*B- zt6Oiz)YVIp-3j1nRfTOpg$oY?hqYb`q+yC*<L-8r&16~vTGQq#BoH>O+!#~-pA#cW zyp)t>$t(SiFPQVWUX$DpeBd&P{~QJn4~m#244X1sh^S91(Lw~UgH?c&&!h_=t&~=x zWr68VLGpXcyh8o-p|sE*zi(>Whus&9@94eLgB;7+90~m;#Q7O~Fu$;LY3|Gx4<DUQ z=Urdjz-4KnKzA;I4(oG%xCcl5a>9d+%^;+g0&&)`tJM#@ka*JXoh60C1T%Ibec$i8 zt~VbtJTe2I9(c18IQ<>?pFcRbChW5XtqxDn1*C(wqqW>DgEVXl40o?G5SM8f(Qo8S z3exm@8wz2S*(%PVSdpnv=-_%Qt^)(YIm$Og=cmez?>O6SGivS(@0g)e?{o=MIL)JT z@tbL><0sW2COdbpTQre?N`wk{Cf#I?{mS7S<cZ`SAp*lAd>wG$@I@&~IOgcx?$Y(n zezv%2GGavTnEZyA>y?(aa<2Er==-o=J7XP}FSS4a1%*OL1CfvUc*d095yNJevS*`B zw^tDbWB!<SO7Xw#f{|$k*TQ8O1`*R(oehZO$4=tAy-{0OL6SDJFiLx8PH=CZi!%F+ z_oiJGw9(RcyQDSk%!DajPCvo~7-~S(yyt$se<*vV#$;_-2pm>Y^R>B5ae1zC5VP(V zuMs%acrg%j>~s3s$j_CY<1ITauoJ7mRN-}X=24{3gdB1prd|sv!2S%tU^UU4@Q+ws zlQ#iL0swZ99ryF2G5;Cm?}(96cg{WjBk}*(;s<FY6lx5){<8HPgIp!%BRZV-zni*M z*Ss9%tVP6tVPz7(J?zQ+)z1D_O3<B*7HZzZkY1LBdjoA3ThBLSbZ^WoD&m_?ep>19 zwplg3XsJGDNI5HgEUf0k_$(J+x55URk8WDYG?ziJ6^{1UI~s8#F&gYz_kr;5sR`A8 zfu~??^VRp*Nn}Pj#K<@L13`8Bp>PV^H?mQZQC5-(g)7aYgvtNt@!*QO6F$ZDpLZn9 zJbtOy3!sN-PczZkDa)0wfMUF>LUBaP<u%xTRVk)PY!<!#Du$Hpp^`PYn^M*B$-hY7 zVgl&nxUcM9Z%*xmixOn9i{u#`>ux_?=BF|}O|mKimuWalJ-_^LkpRXt6demCq<K(7 z8IsEzN#EiRdHJL;ej+unJ5^KloIV}R_;4GjgnSw8`rdp_4_07<?y>i<Ot|+_85?AL z3D1Q*vGjd!9nregBufC(f}IH3Yo?Sb(F#()6$T?Z)|dO^nK%^cn;>PQZ<63O>UOCc zd7d|vyb|qu;GX9`Vq%CWJJ8vrvB62liG;aw`w(f}vLCO{0Yiu?%aWZCL0tKkrFqJs z%hDtl<^zf|Pv4JXDK+Y#F_$ciQDn()kFYYaMx#GcB}e{Qwx+}bU6wEC{OyuT-s+<W z1dNVaf`DV~2bxxyN4F7luOZdF^Qbo_)v3rxp0KA8oy2t7&_fxku*b4#pU7zXV*(5* z-^Z_#G{9tRP_p)#*H{74!mZeV&k#~Y^`DKO()L%02k2AEw6TtOpfhu7?P?p@nS3R^ z#_|!T`i9|L9s^^59q2BMv6^cBJ&q1YSKMl!e>t}r?_`CMw-qfpv@|C*_eKsAP<OQ8 zGHK#1yPs1P*4Vt9;ioN-n2V%9{_XrC<j`JL{#-IVqPM4U^<mJ(0IY-~t~rNEU$y7Q zbj@_6*KcMR9E^S_`0(y+R!(}pTr!lmwOg036#|V9UpBtE`N!>P5RfhV>4?}fsw<~= zn{(Gti~X0o$f`{-djC)0N>qf|$GAmkEA}u(neotUihVuoeraV@>rj&`?K`fukeVqL z825vd2nlvgLi203^F{O*wunE*@z=Kr)fabOV<%ON1BlJ=jInxu<daqPoqxuQNxBVQ zVUGffB8VcnC{ZN(kRGUr-{xTvokkHA73JeE18=UwsTp(02lgLyT@x27eLP#nF}2GO zr-sRoiISqOA_Go#=dHvY3LY9}Ti;!YIrfk;zw$LP;kA&{<w@YYP6;oAm|X({{rX@& zCtc~Pa)|2s66Neef%DolBtJ#^>yTw{c`BR7zgp1#TU*6}@{>rxacsG>VXA-+0x*9G z@-$iG+r;%tlGvuBX)#IC+ULMM=h31D?W{&UrD?R@xD-ih{dd}a5h{4mG@kcxFnt{K z=hA!$uO7CQG`0RlXlW`0qsyxN@wMynY`7f7bJ`z#x}?x?wNJJ{i_-v~Gp<+i|J}^` z?Mp3p3ADKM;%Dsj;P@%<fEdQ7#}f#&yl5`koavRK*jBI}f9%U#ji<{>NDkYWOJT;# zw83yR>Phz6vO>-yU|e8I0=TyWGwZMaUN%ziTCzBP+Pr*r!d6fppU2m!$DUdvfM)k? z9bVa@f>*IBI4j5===Nkqdd(~+Obm&`tJvh617r`h8Gd?{w&{v10yEN`dSrZh)3SMb ze%Up$K4On>hk%;MDnDC9@ecdkne3t)_8lma&q9_QGyYOH<xJMY6)UjWcdx(P7?WkB zZZ&H2h<4-A#V?p%pN+TnxU}waW~9yprNbMte;VwT$87WRmW+F)7pc27zR8!dE_F2Q z#OE?4id57s^$Fai6}u&GeP?J86SeV<Y`^QpYH1S$!q$_&^8SW=13uyDMgFOUHmvnU zLD1qY-B0FXr>i38+5S3;d<K~7unKS;2DFM2kCI-9vcQu}MPFx)Er<<rZFCI;9Sga* z0w%R0dX54y*?jtg!nU*FW=SLeT2{mrlWQ$B<baC~6m2x9qJ%tay=YWp<tm8xI=&~- zZ4&*ou6YAKC+*sk-e|imdJ<x!pFV!w0H*#?`kLaY_wRhYQeM%&FaV+mrJkaO<4`_y z^E(r$Idx(IJznQ_>67p9U+SnxZtpIYCYM_P#yt81q?$XE6v@$RRK~w!$*k4}HDqo# z=WzM4;W_1jm_V?OlzGljKsFC~PiE$y24C^s@h|9<xCp%_@T2bEs7;1z8JavvQmu)w zyRGL#94{REGy4oJKub(>0?QSIoLdpgEDg_22^Oz9{%vq(UP9!VTk8&7i#wU2*)Dag zVSJ(V_9p$~Wnw|o5x{KvF6XhYVrx8q3PNQZND`<*%-mxo8eg$$Elr-xgc~`sUdOj^ z$!2l;yGtqcZ;1%OqlpFG>mEQ5y>bQEf6XA)E-2P?)}dZ`OYbu-5=7k$g1#sd`X%av z@-z2gnNdanOY)*I%slTjFvKAQoL8oxvi9}^q$5Be2Vf;QfJHjFu)dV9%y~t?Cd^31 z-fy2Htbe?eCt{1TtN=o)+AAEFE=IZzu}qWHi{hywg;vU#9KyjK@^SVip$aab$j~X~ z#2WMB#eZrkQN!s(FcaExiSp61eSDu3nO!9_SOc+-4wWG6GMJPQSCA>oW6p|QK}_=V z#}r{h$x%KI4o483b#Q@%b4kh0z5JAVcLH4$apZ-Ku)B464H0hlt?*1eT>T!d-jv@J xNrnO{;K>z)!a%W0r}hfIA58TB=?C9(Ii~BKN3xQZ;k(uVLS0|2O4Tm({{Vs&tEm70 literal 0 HcmV?d00001 diff --git a/src/pt/mangaonline/res/mipmap-xxxhdpi/ic_launcher.png b/src/pt/mangaonline/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8fb31483b626301877f01e314d97a7ae95de7b10 GIT binary patch literal 11197 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 literal 0 HcmV?d00001 diff --git a/src/pt/mangaonline/src/eu/kanade/tachiyomi/extension/pt/mangaonline/MangaOnline.kt b/src/pt/mangaonline/src/eu/kanade/tachiyomi/extension/pt/mangaonline/MangaOnline.kt new file mode 100644 index 000000000..35720c3b1 --- /dev/null +++ b/src/pt/mangaonline/src/eu/kanade/tachiyomi/extension/pt/mangaonline/MangaOnline.kt @@ -0,0 +1,204 @@ +package eu.kanade.tachiyomi.extension.pt.mangaonline + +import android.app.Application +import android.content.SharedPreferences +import android.util.Log +import androidx.preference.PreferenceScreen +import eu.kanade.tachiyomi.lib.randomua.addRandomUAPreferenceToScreen +import eu.kanade.tachiyomi.lib.randomua.getPrefCustomUA +import eu.kanade.tachiyomi.lib.randomua.getPrefUAType +import eu.kanade.tachiyomi.lib.randomua.setRandomUserAgent +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.interceptor.rateLimitHost +import eu.kanade.tachiyomi.source.ConfigurableSource +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.ParsedHttpSource +import eu.kanade.tachiyomi.util.asJsoup +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import uy.kohesive.injekt.Injekt +import uy.kohesive.injekt.api.get +import java.text.SimpleDateFormat +import java.util.Locale +import java.util.concurrent.TimeUnit + +class MangaOnline : ParsedHttpSource(), ConfigurableSource { + override val lang = "pt-BR" + + override val supportsLatest = true + + override val name = "Manga Online" + + override val baseUrl = "https://mangaonline.biz" + + private var genresSet: Set<Genre> = emptySet() + + private val preferences: SharedPreferences = + Injekt.get<Application>().getSharedPreferences("source_$id", 0x0000) + + override val client: OkHttpClient = + network.cloudflareClient.newBuilder() + .setRandomUserAgent( + preferences.getPrefUAType(), + preferences.getPrefCustomUA(), + ) + .rateLimitHost(baseUrl.toHttpUrl(), 1, 2, TimeUnit.SECONDS) + .build() + + override fun setupPreferenceScreen(screen: PreferenceScreen) { + addRandomUAPreferenceToScreen(screen) + } + + override fun chapterFromElement(element: Element) = SChapter.create().apply { + name = element.selectFirst("a")!!.ownText() + date_upload = element.selectFirst("a span.date")?.ownText()!!.toDate() + setUrlWithoutDomain(element.selectFirst("a")!!.absUrl("href")) + } + + override fun chapterListSelector() = "div.episodiotitle" + + override fun imageUrlParse(document: Document) = "" + + override fun latestUpdatesFromElement(element: Element) = SManga.create().apply { + title = element.selectFirst("h3 a")!!.ownText() + .replace("CapĂtulo\\s+([\\d.]+)".toRegex(), "") + .trim() + + thumbnail_url = element.selectFirst("img")?.absUrl("src") + + val mangaUrl = element.selectFirst("h3 a")!!.absUrl("href") + .replace("-capitulo-[\\d-]+".toRegex(), "") + .replace("capitulo", "manga") + + setUrlWithoutDomain(mangaUrl) + } + + override fun latestUpdatesNextPageSelector() = null + + override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/capitulo/page/$page") + + override fun latestUpdatesParse(response: Response): MangasPage { + val mangesPage = super.latestUpdatesParse(response) + + return MangasPage( + mangesPage.mangas.distinctBy { it.title }, + mangesPage.hasNextPage, + ) + } + + override fun latestUpdatesSelector() = popularMangaSelector() + + override fun mangaDetailsParse(document: Document) = SManga.create().apply { + val containerInfo = document.selectFirst("div.content > div.sheader") + title = containerInfo!!.selectFirst("h1")!!.ownText() + thumbnail_url = containerInfo.selectFirst("img")?.absUrl("src") + description = containerInfo.selectFirst("p:last-child")?.ownText() + genre = containerInfo.select("div.sgeneros a") + .map { it.ownText() } + .filter { it.length > 1 } + .joinToString() + } + + override fun pageListParse(document: Document): List<Page> { + return document.select("img[loading=lazy]").mapIndexed { i, it -> + Page(i, imageUrl = it.absUrl("src")) + } + } + + override fun popularMangaFromElement(element: Element) = SManga.create().apply { + title = element.selectFirst("h3 a")!!.ownText() + thumbnail_url = element.selectFirst("img")?.absUrl("src") + setUrlWithoutDomain(element.selectFirst("h3 a")!!.absUrl("href")) + } + + override fun popularMangaNextPageSelector() = null + + override fun popularMangaRequest(page: Int): Request = GET("$baseUrl/mais-vistos/") + + override fun popularMangaSelector() = "div.content .item" + + override fun searchMangaFromElement(element: Element) = popularMangaFromElement(element) + + override fun searchMangaNextPageSelector() = ".pagination > .current + a" + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + if (query.isNotBlank()) { + val url = "$baseUrl/search".toHttpUrl().newBuilder() + .addPathSegment(query) + .build() + return GET(url) + } + + val path = when (val genre = (filters.first() as GenreList).selected) { + Genre.GLOBAL -> "$baseUrl/${genre.id}" + else -> "$baseUrl/genero/${genre.id}" + } + + return GET("$path/page/$page") + } + + override fun searchMangaSelector() = popularMangaSelector() + + override fun getFilterList(): FilterList { + CoroutineScope(Dispatchers.IO).launch { + fetchMangaGenre() + } + + genresSet += Genre.GLOBAL + + return FilterList( + GenreList( + title = "GĂȘneros", + genres = genresSet.toTypedArray(), + ), + ) + } + + private fun fetchMangaGenre() { + try { + val request = client + .newCall(GET("$baseUrl/generos/")) + .execute() + + val document = request.asJsoup() + + genresSet = document.select(".wp-content a").map { element -> + val id = element.absUrl("href") + .split("/") + .last { it.isNotEmpty() } + Genre(element.ownText(), id) + }.toSet() + } catch (e: Exception) { + Log.e("MangaOnline", e.stackTraceToString()) + } + } + + private fun String.toDate() = + try { dateFormat.parse(trim())!!.time } catch (_: Exception) { 0L } + + private val dateFormat = SimpleDateFormat("dd/MM/yyyy", Locale("pt", "BR")) +} + +data class Genre(val name: String, val id: String) { + override fun toString() = name + + companion object { + val GLOBAL = Genre("Todos", "manga") + } +} + +class GenreList(title: String, private val genres: Array<Genre>) : Filter.Select<Genre>(title, genres) { + val selected get() = genres[state] +}