From 01f3fa01910a08512fdb0108c9b1f67bbe09a017 Mon Sep 17 00:00:00 2001 From: Chopper <156493704+choppeh@users.noreply.github.com> Date: Tue, 30 Jul 2024 04:24:15 -0300 Subject: [PATCH] Add ExHentai (#4313) * Add ExHentai * Rename --- src/pt/exhentainetbr/AndroidManifest.xml | 22 +++ src/pt/exhentainetbr/build.gradle | 8 + .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 6443 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 3364 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 8607 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 15667 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 21120 bytes .../pt/exhentainetbr/ExHentaiNetBR.kt | 173 ++++++++++++++++++ .../exhentainetbr/ExHentaiNetBRUrlActivity.kt | 37 ++++ 9 files changed, 240 insertions(+) create mode 100644 src/pt/exhentainetbr/AndroidManifest.xml create mode 100644 src/pt/exhentainetbr/build.gradle create mode 100644 src/pt/exhentainetbr/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/pt/exhentainetbr/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/pt/exhentainetbr/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/pt/exhentainetbr/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/pt/exhentainetbr/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/pt/exhentainetbr/src/eu/kanade/tachiyomi/extension/pt/exhentainetbr/ExHentaiNetBR.kt create mode 100644 src/pt/exhentainetbr/src/eu/kanade/tachiyomi/extension/pt/exhentainetbr/ExHentaiNetBRUrlActivity.kt diff --git a/src/pt/exhentainetbr/AndroidManifest.xml b/src/pt/exhentainetbr/AndroidManifest.xml new file mode 100644 index 000000000..02db30f9f --- /dev/null +++ b/src/pt/exhentainetbr/AndroidManifest.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + diff --git a/src/pt/exhentainetbr/build.gradle b/src/pt/exhentainetbr/build.gradle new file mode 100644 index 000000000..680aaa126 --- /dev/null +++ b/src/pt/exhentainetbr/build.gradle @@ -0,0 +1,8 @@ +ext { + extName = 'ExHentai.net.br' + extClass = '.ExHentaiNetBR' + extVersionCode = 1 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/pt/exhentainetbr/res/mipmap-hdpi/ic_launcher.png b/src/pt/exhentainetbr/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..9566df7798ec5becc762ab673b3216d847dd2ba0 GIT binary patch literal 6443 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 FV1iJ~QaAtr literal 0 HcmV?d00001 diff --git a/src/pt/exhentainetbr/res/mipmap-mdpi/ic_launcher.png b/src/pt/exhentainetbr/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..899ad2b9a476aed61c49c02ea361aef757e5dd24 GIT binary patch literal 3364 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

JOQZpyR^tdj`2FH(uiBv*6i;t- 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 U+CLKiiJ<|KqH-cNLVpAQ2L-VbrT_o{ literal 0 HcmV?d00001 diff --git a/src/pt/exhentainetbr/res/mipmap-xxxhdpi/ic_launcher.png b/src/pt/exhentainetbr/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..7063d764bc4b6bd04137120034ff56a098a2c278 GIT binary patch literal 21120 zcmV)`!D1bu-%Jc{nHw7qe{VCJJQA8h~ zTSU*b>an*{;BMu+tQri*O~q;iZi%84wNRQrU;h7EzbjTV;pmLrM?guq<^QJkce{6_ zs1!g+(4~LFpYp%sql&5@b{{au1MNBjlAtU7srEa&cAzK(Pf55Xp?As?b|qzSD1u$5 zwpc$*X@$qX$$xV4{vRJA{k!ycyM3I!6~J7u@&6EdA^7**_qflXPCbXXdwBFI=j2q& z*{NJ`xpGc5^S?&d>eId;SMPqE-{*>Pwyx>kYyG21_q(+Et@mDy-|K#p#!zYAD|=^d zZqB6~%8ks)$+?n|nZEAS$rDRH|MByvJfVjYNQzJ-N?=a~kPE-G(hK3AIb~-1px|l` zxjMT(cq1b-ATvFava@q2Cp%mGDb!kTqD)t5N~i8KY*7GP?$zzOE#GCsy|#Rlo$hsZ zb|xohCvxVW^6ury&D||7Gdt_|xVY=TO@4p!ULLw^nG%@q3f8Swvb*f10OrCkt@_S0 zr+m^jI4J0sjP%UljI<15O;_x+uJ9UIopqmK%W7xKggX?V;GAoWrIV8rxp}&gn@9PC zq@?%}6J|_UEmH#dj-WfLMzq5o3ZNwX&ir!cIq%LL9^f7DRbqUCo3zp^bxK!oZ};kN zV5p65`O1@`E)n`;Q?hpe^YM_zv7A#m@~_~Zm3|}r^%q_nJv&bcq}{-7JAthVpep=d zzCZsdZ#VCElM|ABb2VmBe}WB2pAi$P2v=}jTUpn5p5Zd0{60XdHeb# z=9J5rHfH*mA9$Lx%yt9$xxmPRU+5ZpD1h9?vaBhwbD^z}W zZG1)%3cpD`bzh({IW~Tq#=A?r0`RC|C-Cv}PT6r_Ylk2H{vj++0iXyvzFM^QY((KzD3x8JF91Z?<#x8?S!&@*Ezu z%)FgI?jpS{3Lv>Vh3UgT+Qx)uI2W=^#1rkd|igj6f$>>YVJDN7sZY!l0ln-&K_N^0QA&o;9&|o&rd_fTRG*0VW-FuvG!%=1+Nk zm-|<5e|;z?E4z~UdnMtIh`vPUBhFIm2JOk)!$+Ze29|BUOIMi;JjRyE(p#;>hw1jA z1ls>P-(|~~>fOsxwTe#o4G5p!VCxC5wf7?uek1z^W#?pbR6Ls%`KA&$IXROvM?zhkT?l_KrwNj^ zL3wVI4R6z!a-RX2cxmQ~HF$c{`3E}yexLyOvC11{4+W6ye|IRroY&{VS8G}T6$U!< zMmm*u#ifPz2!(%BxJq|bHL~*B>bqCJA3~kY7^ke9EJ{gBrudXNN=#0m#IyuTO;4p8 zS(r2Z&B2LXf9~Zy$j{TCd_Dch&pUwpy!`T&!-a)G4MlFt?r5!I=g+wfz&s=8sYxGC zz{&{)zz%@Hlwtz%=&&JK!bP?yfOG&B-X92mo&tnwPXHv?{Iy1;+JM<(M6!hN=`Mk~ z11Nt+d{P`m#Ya+1Vl<^?nuI*#h6(rN;^IP8t5&7zHEU3%ij}BhrHT{~5I`Ot9^%K< z6+>tGw)C`AN=-|r#KZ)OjftVCs3-~#kD$w!E>UV~D#0J_>f*{j<;layKNC?%eS(E>)ML|J9jC8~>+16sB zW9Z_=ixd_XN@vfUrHBYtjLVlPAwHfw+&rmDKvk;bSDE~M0?5a%TG zSd8Aw3Q#*w0VFd>4v#P{OnF~nZw2sR1-M{b0gU(eb_zf2blC0ZB2LqVD`zPuH-~L> zC-U_2qW=B+(_MoH34y=W4gETM<_!Jw_dm3G(e96OxSFHhi z+Lo2_|#7b{7vdUmp zOn7~>;@)7U9XooImM&RBhYlX1=;&w)=CeYb z;QAEcRY6s0jf{`lx7%{BCCbAJP&aP}D2WOnd8&+AUbj^Ec~n!EA*%$TfyzP z^AvXlfC+S7d6J}kOvwvW_>NmC{PD?gbSC^HU5|^TYSn`2{s$hQ&RsfFg$flck+))f zZBkMaZQHt){`}()3cV0Yl`8~M!|F{az}xhVMY@8QZ3Qs53-uMip2Dv+x#<~cbnXfc zw&$oyl`3@q(4lni{r8o~)!wM~!94o+pMU6&-~XWNk&#p{xFOZ$GlH9|CU{pjaB-`4 zj}o*4s2zy372sA0f7rDPbn4P^D(75|o*MBq4Hz(hyu7`Q%8^yqLHJ_W9*>EQrKH5f ze6I~+1^Dst^%XIKN|h?v#dWIHN$d!J{rM+-|Lu1y{O)u|-PRObvAX&##pLi@0ur49Oqqy1sHf9XD1hq+VaZo;YU6UWAI_{ zpQoEQ2d>eRV2`T6+?&y+k8Y|Tgg_s_rd_5Asik)A;v8+WCO{*`Y&#uf#zBpe?;_UI&fx>FcZG`a*hC{S=s>Yes%I>DwpF#y;}AcAUvgZtGqwb zyGyhJm{vOr6~GGN2Uh14A9OEXJ5QY%x-fpicyXw-q`@ZNvu6+e^~awCa|h;3ovQU2 zbQUC5ej!x4eKWTD14X+1*d}V)tQnPeD^JNu$rQ()qF6p#Wbuj&Gs=tK3BX%}8jZyH zLTctaNK#57U5$;PGZCi*bfZ=4)->|DQBNjV1$Lh+jQTu$_^{~9LEeG9 zUA(DF^X}rCw9F@f_s(8EMd4AG_+Xt*!-fwN=Y%SZPPL>(UW=q@Q>W5}^A}hNIta5U zU-|S_09y{gD)*Ks1yG(K0}5b);F}f-(+ybpcc0uYaQTyY`|j1Jw?)DakIsi5d?jV=&RDojs8LbzF-AtB2xglpbF$CyDUeK z9L45Wb81knp`o-;WS*VAe1gtgK1r@_t~Bwbm&7^9k_JV5Y5W8>0S{BBrg!G=1h(t| z*4|s}72u2M*2MuVTUiUQ{1CJQ=k`)83)4h)apEv&v_ZI5EL%>${`xCLMP8>yHJVV( zDz!OTMd?s0G)^?!7t8qo@XREpaK;xW!(?Qni=>zwGwl!bsYrLW=wY=2NH@MW<6YXi zX$$pe+0UZrEi%&1vJ!+xU8dG;+tAo?V=1IIp!LRDLP7$4GV5ajyKY^-Jyoxy1OK*V z^*60*immi2fPq!jd_?4C&%ty1C^k8orcR$G{NqL&-~e;x%%R;oc2S^jC2GUT`l^D@ z4^3wQPfkk|f`kNr>^eAP2UOq)E@ynzZ_t2hbFd1@F@YS&^6~MZ$uGT3S1w(nuFbmV zDNe!O8QB4(I}YsMPcKh=i8?gyBF+S=O=Uc<#9XFh7mrX1dyOW(G?50dTiDG_2L_S% zl9ZGbn)>P#I(qmBwQtm!D)V{B()UZ(TYGpeoeE%~@XH4e=Ed$)JJ^#FOYgk*F16-E zpHZ&|f>$50$&<*igf@(j3}S)e!X1ipion!KK3ha3To-1IH^V0GVpF1bzrMm3@9yp{ z(i@fD{o)H_DKb2YIKJ+lGr^M@tY_@c^ivqwNf8x={sG5IGc8fN)X$4MY=8Emdw@_B@4Y7l^YuC=u zH^#D?_PJ+AQhIU*pKW>-aLwvFhcq-qM|n!N0$39VP!ayCu~#_AwOi!l{%_0}fu_`J z0HaOe?K_lRdadfW6Fz4bhzG7ir*s|{y$c3Hz#-M z%;y_txQVTJe}R{kN(CtJQ3l+gvJp`_ECJDpz)^>e9qEm?-ZW(MhlPgHjCW?x)rhOq zs%~4V6i_gz1H8>e&I>?d43L+|4FKRwqAf8b5h@pr9PtdLCuE9Xl2Wr&0q~4PKP{pk zzWtsCw7=UVcv3SUfB@CSCdP<-VQELhzrmagWtjNmPd-l1jvQ&|lh>?XLo+y7)~Hr9 zYE+XMF%7(5^TDM`0Te&RxB@5%KMLz@JhYa|@q+*D58n&?yj}xD`8l4@gt$byvw1H8 zGmt+UuFI{*HVQOmzyAGb%-FGp?R&j<j#E>5w zk<>{qPomVsRCe8U66^@_=bw)_!-1lcRHJ5f8b5J@5J00|BqPF)Yo2=i2`2DxqE_{k z;n!jZuuuW;+==7I)0q=zsW%^n1&yLX1vq?eKV6OvqrkvGCg6%=)MpEU{>1$l8wAZx zT|Q2aKK7V^QRp>zhQ_g{>*BeK)VIxDj9F6lq*)vMy1BWP0R_++B+!%WJF|xe zuw}~@s$Z=UHLlSt4`Pu^Cqj>Ky671iIeL^(1ic0*^%y=6xR>)3hy4Puk-VE73Xs1~ zE1(*6mMwYaI(y|5EnTr(n0XkdufF_}e*g71s#z&SuyzZa5&s7yZ8!(}KIYxFP20A* zW3+O`3VN5%SsmEjTP?64_|6`}j}DYN6G(Sp@`n8&WBMav!)f8S-{>M6u_eF%?t8Rr z$4(Q9k@5OcOHNIqy=QiEE-=yb*I%R7ZIoAKrP;m|7Dj*n^*0@2P+EBSWq}Zd%d}p@ zdc1niQOz@WXxMP_arLKWoM2M8Y4eP_H4`d;Z*c)UsY%sv)Cc2UK_m`@93I z1k(HOe?Zl$-$XWQJ@eYNYb^MG(USibldF@f$o#^=vl9Qg`{WMtt?Wy)*?duR#SS0( z00p>Lq$ahRo4v*~>((j&?)~hOPie){ zUkTD$BMoNGm%K8krleA1cJ+k>)#c<6xE)R3u;-^=aOSxj6-rB%FH?+b0A?}s!t#Y*<;cgsh8A{}%6 z{*~0QX(RgNvrlzh!wcqrE!?#I_&|(oGFyaSzJuZKB~k$j4uEktC_Wfo8h9jT@fO^S z6Gk*w9|mi|CQeUG7l9c`SrF*i&R!NDe;@krqnU;>!$40yXZ9RHCRMdUHR0n%hL(BT z%b8rB0Uk7m6+kU!aNm%7sH$&uY6w4he!ID9lv(Ug~y7Z}RapB@!X80OruMqejtVk82-_ z;dUPN%(Ijfmn`r?y3uok=1+-I0ClZ5t^g<~v2OngK~@F0gI2@pHEY%^+O%$iz^C}; z;ZqRc+I)B&xqG^av`8Z>|2f9pPh;;+o0o_^v;e2uFZRhG)*+%hR*UK`b*wHTil^^p1CtBf?)jZ^748y}HIA^37W|Z=o4)zs+V( zYqrlr@*lVV^lpYNUluz^%a+Ps82P(*F+a`+e1Hb&cKars$=e+(p!yQEpFJg)d36*` zBSouetrk?TdPBu$gZ2#FU=t)K7qz}_J{{@8H|u+u&I*7lm`s7f&$Cql0FJ{sph0kB zrb3636o{7BOy*u~N z!1nj#`|+iBow{_4E=7mZ@>MJK?QydXj$*{;8BUHL(C%(t5KM_PhtBS!nA9j*_}#a< z=P4+_nd4`uSDXF?F-z*hk>3L)GrIKc017gJ)qfMa-UbdD$gBTY%>@hgDh^zgd8?NE z*RcCH9$G^+Lu%5jPd*m(=2~qHEBpkhsdR;G6VjgLohio+KU(7dnbi}XUR2Ekpqd?gQXA3;}w1}qB_ z!9Qhlrde}s&(R*v3Y+rEt0Ko05NS(RetQT%o?#CK2oDbz2UiGc-QWiKLzcvqZLk=; zI%SGLw_4K>YxwWqf2qeE{TNPS@(O`b8@n{zzglN21SKDS@F7vprBm~6H%&t;gdguM z**k#vXl*YLOq$jEmU8I54ZZ#D49)q%K@D4U^Exf5cGY^~TCg#|bA(*imnOZec|UyU z5Sns1koJ zD;Wx)DM#80Akq-arP0?57mE5^Y7K5SfXo6sD~gCO8lt^hj;yC=Mm|Hsc*Rm{2p%E2 zyL`zq0o*b%p4}ed$1Va|LtA$Mv8eLH?z`t6s=%;|<~$}S@OPYD$zOl7kc;{mr$A8} zH&ejvF-nR}VI|<;7CQ;>zBT)oQ<`-&ZqQi3tL3<@aBHW8e2+9(WUP<@TeSxm;f^E&AnW&Fy{@bK4+`>1Hy??Gb*H z(ArM{@H~9i_ANW8XX}217zmZmp`Um>w01+>2YQ&wTqQ@VZQr&{z)U(dxs!sJ1se@H z*{HIE+BNKyPtJsV*6WE^g>PC7u?SegEat%3 zux=yg2=vQO1=M_5-Y<(v`0;pqDgd50;^`3tI0p!U7cX6+8Ar*^%4VW~S83;t9gOjL zTqMP7wcmdERpbv0Xg4H({C1t(M%gY|F@v^R001BWNklLQR3}G}?+%_$^TYaD&#XS5G&ncksYLdTGK05&fPrZJOq1 zf@$uh2@{29r$WUF^xY3XXlBNte!wt>cl)~d&&Ssz zYv~Bb4Zi>J2MSWD0f2+pJ8!*3JGSk#X!S2@;g>4_5T%VZut2L(*fHBCG`573ZF z4F4F;j)1Orn%L-+8g@hkxvqpoFi@|F@Vv<==rV$te1K;3*cQLVVW5oqXcLylx3Sjy`WiJpYNsfgc7SIQ+`n;PrZ59VTcoRIz zGuE6Xbj#88RIOI9fD@}VaQu(uuspawYv>WX<~`(A2)`u?fRsa&H~ogqJUxgp>Xv!3 z7ftK%i)uG7^Xd<*PX)g~TD5x#weQ%T-uv(a&0S;L)@>X-e1&>4L9aji^)at|I5Eh@ z%ZYye?N`lvvD+L!a-90MF33=AMEHdXRMK{U!XKur0K1NDC2vkFfy+*-!G_gTh?!8WMV%?Oe$A9k?u7v__)J%50Z2S(Axo)FIz@4 znadRH72x`}wE;S@i+4mR2pD$lA{{!vkA7gkz7}&dT+mp_Yg7yodCr())Ggb6YCHYA zWU*kIP-~kuZlq~brc!^#7NO`z{+R2HW8N?qdjKu#V(8&5)v3s#VD}sVhtHFbl zz%+yH*?$ka6%1}TJR?&{4Wkab72$aQ@&VMMu6ADQtrmXy4lo;VXqEZ^xNaFM0LXkH zU_UJS$tD&H2r&?(6}_s6NIF`2W;$(PQ)bvh!*vhCAMt{+a``F--{BnQEb@m}?EH_O zeC8?5g(!v-jgTVRtX4}dIuat@YjpK55j%i23J{+ZCjwYVc-P~szi05>RHt(NeCWe5 zPV)oHG1C0ha&nh1T_*TI!J?*B5&d=uzfgcYS`=LcV7T^7-T{$#1K5OKhMd+y^4+)J z()ZtdM}s=v%j0%)N5o>{SII{lhP4_%a*|(Pf=cf^zLhd^(*)y$T1!n$<*4xEy8zwkq!P;|qH0{rv$-}L1dbAch)(`D-3t(Pyn;~03d6s(=bF-Dp8|7kvtDb`IGo{z~p>2F5ji?1QP^k1v5{bIz?E_a3+&-I26C3R4G9I z#}syhBGJ0GB3PtE=cA*H6^;6KjS77vJ%~w^bV|a)hgyqw%NECRRENAS}^Zxx{DP6 zEO+Y%}^0;!(5*q!#{|OVzojF8ZIky7l zsXPF8@xlcH@h=t^sZwM=T+*} z+hj{BHBlXr4{mp|=Rktff-$Z^vj&>EuCP-R*y~|h$9Ys`1B(Nnc@zJ}Kl0z<@8;K< z|36>_O3y>N)FggC@^m3|N@r*&z&17mu_8mjB*B#aj{nCG;u#>;g94y!=3L)O)hcoB z!~#RR0AM5!+;>0Ks1Q=Pw36AlEZg;uFlpos--kZI-Hadf36&!OkFHwLL^FAuD^Nxz zU!~#x1W;rG6r zkz}e&xPJd?>U~!q8ppIL#ksx6{foE|!DUie0TfyW7v_lOB77#@%V8OZ!a<>+FL{6F z{XdkXHq$erow>xh&zzC<$KQYHa(3eSEt@yf^eNM*U%R_R##lk=F8IHuBHuSefD1bZ zs9&Ju_<#Ie{Fz4pR+-6%MWH+904eE745eKqGKy-|s--F(%krYR{o4*=!c`OZ&x&1(>A5kZ?ShLjAeUBO zVu=D660|%8h+!BAgzeMMKhvdo2ST)8?>-z0X~1^34DD%0;YYVnzYR_e9L}}a{67Em zQ~LAwKWRvp2X3A#4D_YcDL_1zBi+Q@oxd=OP>Z({N!edA0T!?)5}aY#uK&1>)mXzN zQmvL?8*enK0G0?px^#u>B_M`^z*D2f3NB4qzY)0|%JzTj`W>iNP{_^S7!W!`{mOfe zbbv-wAGr%^ZT`G@^wal0(qN7SnAkW>yP94rB?@r!GZWdHv4MGOkjJZ)1_{ppuecan zAq5yej_$tO6d5kA&4>aR5;8L(0qh{``UQ>%FV;+D#BDeL5A4^UYFDXC%_Tsf0f95r zFWGa9D!?~Pdhp%CZ)p$*<6MD7GSC-%M+sE``PUV6E+%uKW+YP}nMEt9`rp6*q1o)0 z21TE{pg>_0XwPCU;x>{V7-nWi7BfxIQvgFkW+wb_9v~XrrCS$ReC(Kx75(8o(Lq z)-`!Il-klIOXyPuf=NXeaLsBad>zh*;HRE?N^dT2>+iJ`z>tuc2|xZf?D|E)%m(0@ z7JyLx;a3?Kg={*wEvp0+E~a5VNQU}mHr3J@;7|5U1y@tAz*Arc$Yb>|GD#(12bgV9 zJ^);7OF0hkDZ4@M(4a40w{{(21?$_INuNASF1!uQOxCS;H%$h(*_`4B;Ffta8a;*Y z+vJBgGCh0^t~CpmZHG%R)2Wab$dG_32tR5M06tPJBv^3u8*PZdKJn;dwo#_XS%!7{fc-bwfjn)0^mcJ?)ZnMGMpJq&T4Jz zmaR;$$8iA8=<@Y64J?93A@ys~M@)dL)=)j=YQ&X%)@Y-`QfN!ou~7>I&J^}@VCLI$ z=wE7v1WZBr@lV(_*B@Ld2*4gOP{K6-ovh5DDBQPmpMaE?)2Qd0%)qv6_WPS!UT+Ho z%Mh(FHMpfEmWR-5=Q*ovziu1=#0J1N2``XJKa}RGR4Twq&P5&d{Bv~QP<3?R{(bud zs`F0dujUae?K!oB+jsISo*HLk<1035$eob;cnqI4ks zJsp06{$V(@makpu1qg;AB@y62_wpupvb;%(xr~F8V1rZoo%ucB2&z`mR2CHn^O&?K zTFMDZTJ7yO-=cLK+ZobXo3qIL8KqJI*6v$LgYO;0X?V}8jv10+o@WLF)WntS*CQ7W zG9WBjfZ^0=6c>KIfB*m++!0%?_QB68pqxSPg++pIx>&J+ly()LeLx*Q>6OX)N@R8g z;sFnEK5>9sU_PyhxsW3@as|7XL3GurQ)glRVYe{-i5kKtL=>p$-+cWI0ne8BLc#1& zAvl1u`@Yre8)#dOA3DKBzL_e~f>x>&KoYnuhu2f1<_+mx4gPv0wt!g-m0P3|NEfc0 zrO@c}f(%P718MuV?Oa1^n%DtExL&1|1mQ>5K>-8)R7B1jHPZI|t9>i7%3yvBX8T*X zAoH5E`p0n<7{q2!OIWKwHpsMIp7;{o+huruFbg|Jx1QZa;c%@6(=;tMU2wBn(n_=f zn1rmL7YP5do5T45RsA)KO(U1|?z;ww5F$eTMx4 z(W&Li{PFuAIIsA70nbK54Kd^cAQ#{nCOFV){rmJ4pu9#kwHd(8pHZR|Kv}p7D*#qB za?25g*WBF;Q|3v7@CXVmus5YcW7DdE@~439qKeG@Lx(DkHx%a)W|8(|Mu^r8Ogy6b zE1m`Bi)@)RB4e`4EqIB}rJ~jsyNsWH=4pET$tNu8hy3C=<_rQVv}UE+`LrhT-ygeh zm?GjX(O>`mBj^>?+Qjh_MEN7|1ED3RB+y!pO&}wzPha(#Y>8actbgBrf+IAjg1$Re z{{CXG0H3~UnHv-zhg!f93713$l8;7?>zprU)AFTU{30*81@~?~w4Q3zts%B+wKkjY zTl(J;x{EWZgbizfOcvA_%Vf^5rw5NU&?hipM8tEki&d+1iLvy03fq1AmhGHhJ-CqD z7A9$BhFRlmrPgqk0J}qOTDg3p+-tE{g$oq<8Cu}HeeBQ}`@b>b04z7b^!kk7mr4b= z9uFph9rVkuzi3i)AL6Qm6S$~FKL*5kx|`~Loo7Zllv4#HSS>9wK0clv;s8*?>P_>Z z#6||&+Ew2q&jut~dVzsU0Zm?ii0KD8+v>G9Ubm?GN*7B(u?~&8P*C7aCT^H9H~>$6 z^%YHw6{_pNj;|3=iyGEwBEI)*_$dNO@#1AmHR0Kde)@^C(iV!GWJ_DAQ~-D#kQIiI zevh8&u>j!F2QedAqiRhlB*;|oA&HA(fEjM;Ytu9nYH(OPd*ZA};FjExh6dk&aLS)! zk>DF#`Ei**esTiPJMYb)Zr!_Ub{)*nAgiiVSG&I2Q%o0=7@Z`}0#aZQj)ha<$3;a+ zEpzlZisx~*9daBh`c)DNu#2<7vYc;-=(Jj(5iVvF&^~hDD08&-H#7zEi%O*e-~+)X z(6MVr-KvAnGW}s{9D5JAlqnkO^nz8od++Y_3e$Y6wN)!u(#-ci6x9lS^Ac(_N8duh zw|LdJK=^U#?vvXoAw5pu?A0o<;5sZ44-J2i8Z>A?Gv0ew^Ao@L>~mWD&tk!|iUQk6 z!r6FmE!AyUM=*3~HAL8vq6ss`WLD=l9xhBUN;T(=ep;=lg!yQ*yrR*8{ZPBobeW8B%i zm$nUE%!D5~6Nr_J9seQ&|Fi=~FfZnPHCF@%|K>w%U`6$6EMRAN=BcN}4gfO7g1!--i%9T~W534`0K2g`ADUC^kr%s=y%NvB% z_)6Fn>c!BA<7~f&aY5}rIGIJQ$OvAJ(z5UXb#Kv|0(?!vF3K^v=ZHl}t6jW!QN(kQ z9aqUu{ae(YQGyjf68OSyP<(76V^5Ie{qif5M2S?R>7{Ky?#X4Hub zJ%Z9tjm!z#FUqRMU5^u(qWosXiZ2&X%^8>f(t`KM6$|51wN_R7YTjJUoomJNVJyV}N&P7y3ZOO9$_kLhs8H1R?b){%P38&FY5;WY*||qh>q#^n zQt;-pFHjs?JwFzZ3V4!GU<0Xv=EzN>!h9=Mez7pHZyjeGM9J^eD0YE(2Wt7c<$4I) z`pEeM6qgYr@IqQ=1`uU|+9WkOg?xN{gezKW^@pvG%(C)1Zq&A+3EY>$b;8zig&0JC zwHV>D`Mh?|-9yOJ$(!2eo#Bj*cL`E}FD!yX%Licp={=O?dV_vucc>OzdDqUJqPjcC zRReuZB&?`X0*p-i4(-@e@~-AeDeysyex^HH^r8Uo3Kq?Q#e#3zDhxOI^YM3-Pj&Hh zq2F{&3s69!?lJ171qW6a_B<+XA}H0fS1--?68QAaTGM%YY zGZQ~63Y4tcy_6n%;&CR@QU^2QS}ZzqIjt1{I4^Tr7K2Mfsa61t0Vcdv+g4&b)tWR+ z__od4sShI&Q7K030&I&Sidnlsh^Td?)xttU=>?8P`nvlwMPDb)Ym0i-R}y~w+oi}* z+J9!ZD2dcSgEA(HQJKi}YRGlI>Q}o7kUJT6l)@R(fCTl*8i!|tvPZl5@H>g)DQ!5h zzFH*{{2A2tM=l-|8GTxP#I+djb0^P<1GgnP0P_BodIdPle4h!Kae^jAE29Xj_|SXr zD@5{oC5D+2PVS`lW`4j>UTwh!*CtALHm=!B2u@*YLcF zyIiY%yYL%Y^utd~HajGrVFAyKWmM;8-UUFL(oSPXG@=0TFo94RgqY7EjI zQ8YuX^po@r@NC6iixY*vO?Z8i1|oHG&7S4du2VZr`bZ-Ruy)NFf&K5s=cYi8{GtK- zgEI;$+q7=eM)NV)vDdHJAV>}L3jAq3sKhIPDcedt!4{JSpML$u^+nw;Ei-8Eo;@^~ zDfYy{uVQu6xbfprw-)r_0|(zlFHf4JIp7G8VPfIiZrh*(AI|cgV?-+C*Vtv%zxlv@ zZ2DxoWU}x7CrwBKShG?8tYzJ{BDP_!xBwa=OY1)ruhR&MX?-r{3}>du%aIHvK@gE^ zg0a(K6T4?a>W9!=&P~v2z+yelo+ckxf8GI1Ws$6HB~AefBQLcT00RRv24y#aD%7G& z#I*>>96fYIZ2xkMPejxu+H-m*S2>xi>)F6gFyY1Vbc8F=cW=!TOu##)PFF7dB=zHMu8y;5!)6-Pfid|C>k4>!05ci?(nMy^vmAVe_n}e& zO_(@QbG*)+IYZ;dyg+rT)aPQ)jSF16i)&q_XQ$HKujf-$l>*w*4Zx^>$Q2lOa5eK5 zbz4(N6>T7yxUUF=Un~I8ya2E_3z1*7L?0o9jL3vfzCI@jHLj%``+#F$BL}Hkwrff6 z>(u{M8tBWHE(woY)qv`pPhncUff!xSbe2t#yYLX@Wj0HPEUc8kl?i?%pIIQVPG-C*=8OwIT+}b5s=iWTH$u`&6BaH6 z^|ac0riyu!BfZ$Q0({lu8GtxMr9_I7M_NHK^LL>y?{Z{!&C1p6x*U-2_Xh>~rRa+S zwxXq=c;4#OtLg36-xQ{k6ti*c02*fiX>e|2-=Nidma=bp2#w?PJ*}3^9w8tg-JLx- z%ZLwxvggOA#IYx2J$pgg(M&ETq1T{L@C^O^*WXmpry_N1+Lb*kvclSCtNzJL#|WjG z+&$cHZU}r$Za$?5`^x#8fz-oJO-;UYtp?8x;N5yrRXk(b)Tx}*vQ4BU!Y)^9g07I6 zH)b%qwifk_`Ta}&Tg^l1Tjjcor1&u0eyiro$B775#sspQrPu&Wpv#A{e^L z$CQ~J0MdlRTX^gxu37uNCT}Rl>d!y^ps!|s$w}5+LB@>r>}qTTlgRF(p1pgDL=QKv zc%s$BD$Fa_=bwH?PPxv)O^WEM()NAi!U0Mzmn!mS)pjc6Bu8I~HKYJot|xTV0dVm^ha`LXSN5D06_0(j06+bVswG zUAY{=tIYs%b1@0Ibl|*j^(>(r>wTO%{M_j0G(9WQiy&km<2ruqIJ-z|aWZ~0@^tem z(2xCR_K=fTt|-)}rdaTw$6k%oRe&7ceZZ^Pwa1EF7&t_pViV&$*Te-9vOXtyXthYD03XGee=k=b;Tn}UxbiMXh0+1Wt@P!D z?dh+-W@t{ps=RH>7MeBdW6H|RVp6U^kw^}k9u0?8&k7#mjG=ZI)K!4IakvL0h zWy!X>RuB-%j@*XSxHMg*lI*hhcUEd8VAFQk#&iLY8pn2=&^dXl~)oKv( z#s6|Ob@oiOsNITcS1rg-kKbQp>OPnm9Xodt#8O6?)ey-W8 z78L&-V6yFT0P}IeBmf?PN%)QraeBb61or8pI^^|h*M$;DuwD6c;~9C13^XqvPZ~F2 zJoV_&!=mYdz$7OpiyxQ+T1q4oAd+{0ybAY9@q@6)i)^0l5eem5czm2ohTT7uU9|B1 zH&gDj$^vAfRa{D=$2?CDJ^XNidsnSkDLg)v{en2nv0Xl<=oDw8od`W52n)0lm86Gl z+PIP3($f`pV2cJ=<>E4_02qse)OZmbyXW3}X#z(z^%`s+C6_=Cggkw+h;fC`r72k7+!zlXh^a6QqK1g;{S0IebG3nqqEL)O;^@4jzh z$yQ44*Vuibw0KV~X4L*-&TOH$aQm)ejQ=Oh*6iC;!A?HMM@vrms87bjPNL079q z1rNz_h7SAt`w79QE)9ng000s%NkltCa9e>fYOev^` z`+tW6b*S!k@3Y1fXOqHosX{q=^mOelaBR%Yk1EesON5`?%$4zMV&4ZxhA zXMhOkjvg+^#g&)rZ!vxC9f=&_~p#T9ks?n6{Rd1L-Hqq?y*})t?ZQ8aLUL!4f zL_8BgKOCHY{%H|sdv&ME0mjc%mX2?!Q~*72n0$~@nE_%mdrRunuS2uAFow6cS;1$8 z5k+kQR|L%Q3$W+sOk44$v(1V`KvL6d;OCupKA1 z2vlVgjZ8TB)=}sVXNi0^Hw%Pc8t1J?HnLkYlG*jVs9DGzRK0S|{Lern8W882AvNg} z&Lap6RHrzRZbG6A3SZZ#7{ZJj+7Nal?sZan5=1g%cV&bD{+wn~_Z1`{*Gxh~T zV+vZu@ngq{N+tkhc_x#X%?Voct<3LVuR%R= z7Exo@koW&Av(Sxr@+qq5TbWn?J5{UB7@8yl7nL{#D7?B`?glj<7ucI;BTmto%O~mi zG5@2XOcteQqv9FIjvb@drcR^u)C`fCR5351zR>gYBnx(MC<_ZbG_K`c1fHlzkDk=I zYZvnHFiuUbrvRam7wE*LBO>!ltGM)!KQJBnLZ&0<%8J$szc5+y>YmBJ8#~|e(8EkB z(4JnMGDVYrNV+dJHdZifTn-KALwR2=V6F~YG$7lCE-Cg3@bTo&t!9NVGy<}V4loQM zGU2L7f^Xg0*w!1v7#EaUx_IHDC=>^bk32tB$s9xS$C>cc6dn~O*cLp!JZUi3Cho&H zc(^Q4rBMrIsigpT-vuW4J#*y*{lqW@tqeAi2fYb-(8jB(=$V&@KOALNJ`~*s?aFKH z?$ir(VG7{>eSsswq36Sd@E6sg*IXtX3LuRLZzM2Pb{yMGsf_ub$x5JAWl}znaFKpI zYZh(Zut}sr>QzjXn?^uGLSVyq)duJk2Sgmk+jruqSQ&=Y>dLUwa3B!!h4tNx(7*|TH-C zb2j|GY$<@jLtYkh=WjT?hH}_*GoKG{AqK+r(j0(F93~MM(i$)`M1z`*jfL+O`UaYJ zNg;q_O=iY4m`|{|t5gW)`etnv(;(oJ?sjwY+J-l`8T+MZK8MPRYtfc`X% zQ!e#@ZPHi)_A!&Q=2k3QPEA8vP=gu;Gw^JXYs0seeg!Zn^yVX$oSrP|277vY2wL!_ z%~W6l3PTNh7Q4Yu-~T8MasYx!yf=j|x1xW72tcFI_W6jjYyzF4pMLpS6;c7S zP8XIw1+YS()W#AlWiW@zd$b8(H)S$0eLHoEffAnD0pM9XRMBzH$EpLj?h@7Tnr=(4c$*fX6Gp zgc3F4b+c&j4PIQb6+j4)?QT%5vBF9Ryh}n#yx_v=(zUB07peT2+qZ3_8E?NMa)kYv zJG32Fct_C4(n;47O6i?p*DlhD%i3;GoLL@a6R4bm0vLJEf7|{r#QbbNwi%qxIhIKW zusAfY(@G@Z-_BMt6u{1KXrluz2?AVuhd8M|CW(=g94s3-YNVkwK>2%M7J<&=ryqZ$ zOJSEpB210SA%ZPJPZ5j=r2JiAwmuqqP_W_EQh{Gc3P2f7`9x*uhA-1hxA5b?XGJBG8yMc~_{%-XkxMg1N$m zC!F>7YD@&}JGWaD{MJhQL}{VSq%6TyVM&WiiWOOPs4r#&+p}&hr%t}{reMtm?WB1g zv?cGh_qAnK0W4YZ%m*DS;9+KONXbZ|d+)!Wp5P+WTJ?zaCJjj`V37kg<8~&}ii?dC zLgMG;Pk!G1RKX`u{N3G62QHDfc|~$s<(|_!M4|9Tjc&3#oA={MCa6l{I6&uS+6n0e z?&EhLPJ!BAsJ~WOBl`{X=cvWJZ0S;};$Kw&+uSuUQ+nf66u&Ps3Sf)CD-AqWY~%t1 zcT=NQO`0-os;H!BB=V^>k$CQ5wvn-Ff;|FN*ujMfn;pPAoE?1GRKgDq(tu;btAuj| z$g{ww1tQ#o=l2N!TH_{7R9}b8vdGI()U`zqec6&(hEfH0RDMSqs8Ty|;sm|TtA0fI z6=v9Lq@Hc2|K=jSqSPvYy#-!r7IJeqjZp-Gwo__miXe%4iOF-lysR`|%wB@?0#?x! zK0w2U-p{!R$B!P%&mG3)CgC>;zUeTH5~F;u;J<#waA>W;r{mkI^2!KH5b&?~$Q zRoBm7W&9085O6ja&b77f9>TS&801zI4d;iL=omt-azbJPD@Y2ZGu=vhMmp~l*+Kyj zjYW}gwQBe1*L0?UJh=N{!2*Bg9ai|>6jplV0t0I#!L6}FEoW2bw_kr_7Kh6su!YF3 zR9&Vh#=#!XEO81@6mV$Wfi$RLaF?P2%k{Wx6ck)lU}6v*HG+fJ?L!e<@a{V^XxqkZ zqB>)trt!@HyRF)@L{y3i4i2WHM~)CuE1{66k=B7TR45zx;Tu1Ljep-xHS_cH`P%5 z0j3d>UtkV_s0!x<9F}eM8d=jf>7MVInCi!Gf8Y#MbH6;ZVO=|wT|c;?TG7SY0a3k4%w zS#4!Q0g6!IwS->$*T)HVjB)%Y_q*?Q346*3Jk>v(dl@HKCK|w{nJ3s*z z%w0f(nGw3Iw$i5nMJ((Ej|{fG4Ce$Kny*Di&}lA;fe0&n`7n!Im}II|t5(#xOJ|Xv z3{D|?9xgMP5qbf`F#i1QPlo~!rSZI`^G_!K+~A*V{^4MX<)C$IqaC=9LGpx33n-t0 z8l|X~;GyXSx&?4(^Oe!A0X8%JLHgTIgoZE^9E&bd;lE%sT?avnnm=Rz@12n;5 z0u^Tkc=?qhd%5#Aa@R_=mcNaJ#FZSTTi{nw=)2=&<;SVb&7Z!ID$bHt!pD|s6Rx6r>7`qF- zg@Uj2#qvH$D?J3?^zQ}7L2SiP0Q?7tgat}hOl0$xbfefSz=sn*zMx$U&3+0{9EIMb zH#SJG4Y%GB3A~LjLAKwN&nDI7E)=UX0CV&a3UcAcW5&1-_qdmLtEe_k0A_(iNiVBP zZ$-8HJlIL_tQLMdz2ENRQj8v$o{;I=9NT%iRN;MoU9 zk8W6_;j8ju)wkT7QGTJ_=G`WtHysij&598?6L#i<~ z7JwbVy+!>N!T0wWzTMl)+u3G8v0{)4++t@zv&;9`xlgtZQAxQ!IW?JfAK!KF>a8md z=9xeUg5d`WfFRf{4}?j7j9D;w#W>4`&82@vZ z&i=gMuX%6ER{sqCyA%b+89?$aThv)wBEd@0V6h7{t=lyC?q2t;4Db!`xg|M!5@xA5IOp@;WJQUKWgHrfC7QUD1QC!Gbb3rI@fHmv`{!>U!P`k0?@KpjtagE*EV z7ItaY>?ZV%72j@(03cy1*KbZpioXzkJz~+{YdHnZlxP@buyB>eK#-|8jE76p)-L2@O4OH_hLOXmXo>3T<_*0r0~ zZPK4PH9I=HxKw2YFkX_y#!v~dh;;xI~q3d@X-g=xr z2Ob{$NcO&T=#_hZB-f|avtbVfknaLG3&>*wLh$(qe@eT9bd97mQXg#XO9>W%GTC)W zXz{1y$H##dKUm!*1&|BAx$xsYt5<(%1-EtdP4s4_AL%?GR{|)2B>ebOt^o3T?bRP! zzsGU^tr-EyZ!i4`VK!F)NfD$2uX)thD&N2S^X#$e%2#l6C6E*Wf-e_-{5zDzp#Zl= z*oxy@ly(3~3CsmvF8K1Gm(`|^G$8g+0Qt%--wEWqfwbyNf{#Dt!tXGHilc}YZJ*2) z0RJ!f^rf9Z{-+%7Aivk9UfN3m)RaKl5hP`h?0)mr-=6)jX+Rt|-_j9KGJ_;Rm!Auy zbAsIDv3d0`3Y**995O#2C<(q}^}nSuS1ev87hZEEkPExq%VT%pFA4=Pf2O&aqog4A zHphy^3_CiZI|6D-fE$&RLi%^z2U~JMQJNm|XPd9`j#b~1St=XXntODV{@?B+QIrax zwX&PP_g3`7?t|xepiLv7X2YBRyIpL3wVvK;!MoM(vuTDLH{X^KC{lqp|00J#-j+Fb zytKHCfI|U_%S<@>aa%^fp#ZmK*c~q|E+gPjfZ{R}j(*&h5pXELZ5ejQON+}0I253` z%!H#Kw`Bwz3UFJ7-SN`mG6D_-C@wSM=*Mjt0fz$ImSK0iw786bLjj7*OgQ>+TSnmj XP;!Ph=VK!900000NkvXXu0mjfC04ox literal 0 HcmV?d00001 diff --git a/src/pt/exhentainetbr/src/eu/kanade/tachiyomi/extension/pt/exhentainetbr/ExHentaiNetBR.kt b/src/pt/exhentainetbr/src/eu/kanade/tachiyomi/extension/pt/exhentainetbr/ExHentaiNetBR.kt new file mode 100644 index 000000000..10b13c2cd --- /dev/null +++ b/src/pt/exhentainetbr/src/eu/kanade/tachiyomi/extension/pt/exhentainetbr/ExHentaiNetBR.kt @@ -0,0 +1,173 @@ +package eu.kanade.tachiyomi.extension.pt.exhentainetbr + +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.asObservableSuccess +import eu.kanade.tachiyomi.network.interceptor.rateLimit +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 okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.Request +import okhttp3.Response +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import rx.Observable +import java.text.SimpleDateFormat +import java.util.Locale + +class ExHentaiNetBR : ParsedHttpSource() { + + override val name = "ExHentai.net.br" + + override val baseUrl = "https://exhentai.net.br" + + override val lang = "pt-BR" + + override val supportsLatest = false + + override val client = network.cloudflareClient.newBuilder() + .rateLimit(3) + .build() + + override fun popularMangaRequest(page: Int) = GET("$baseUrl/lista-de-mangas/page/$page") + + override fun popularMangaSelector() = "article.itemP" + + override fun popularMangaFromElement(element: Element) = SManga.create().apply { + title = element.selectFirst("h3")!!.ownText() + thumbnail_url = element.selectFirst("img")?.imgAttr() + setUrlWithoutDomain(element.selectFirst("a")!!.absUrl("href")) + } + + override fun popularMangaNextPageSelector() = ".content-pagination li[class='active'] + li:not([class='next'])" + + override fun latestUpdatesFromElement(element: Element) = + throw UnsupportedOperationException() + + override fun latestUpdatesNextPageSelector() = + throw UnsupportedOperationException() + + override fun latestUpdatesRequest(page: Int) = + throw UnsupportedOperationException() + + override fun latestUpdatesSelector() = + throw UnsupportedOperationException() + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + var url = "$baseUrl/page/$page".toHttpUrl().newBuilder() + .addQueryParameter("s", query) + .build() + + val filter = filters.filterIsInstance().first() + + if (query.isBlank() && filter.selected() != DEFAULT_FILTER_VALUE) { + url = "$baseUrl/lista-de-mangas".toHttpUrl().newBuilder() + .addQueryParameter("letra", filter.selected()) + .build() + } + return GET(url, headers) + } + + override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { + if (query.startsWith(PREFIX_SEARCH).not()) { + return super.fetchSearchManga(page, query, filters) + } + + val slug = query.substringAfter(PREFIX_SEARCH) + return client.newCall(GET("$baseUrl/manga/$slug", headers)) + .asObservableSuccess() + .map { MangasPage(listOf(mangaDetailsParse(it)), false) } + } + + override fun searchMangaParse(response: Response): MangasPage { + val url = response.request.url + return if (url.queryParameter("letra") != null) { + popularMangaParse(response) + } else { + super.searchMangaParse(response) + } + } + + override fun searchMangaSelector() = ".post ${popularMangaSelector()}" + + override fun searchMangaFromElement(element: Element) = popularMangaFromElement(element) + + override fun searchMangaNextPageSelector() = popularMangaNextPageSelector() + + override fun mangaDetailsParse(document: Document) = SManga.create().apply { + title = document.selectFirst(".stats_box h3")!!.text() + description = document.selectFirst(".sinopse_manga .info_p:last-child")?.text() + thumbnail_url = document.selectFirst(".anime_cover img")?.imgAttr() + artist = document.selectFirst(".sinopse_manga h5:contains(Artista) + span")?.text() + author = artist + genre = document.select(".tag-btn").joinToString { it.ownText() } + val statusLabel = document.selectFirst(".stats_box span")?.ownText() ?: "" + status = when { + statusLabel.equals("Completo", ignoreCase = true) -> SManga.COMPLETED + else -> SManga.UNKNOWN + } + setUrlWithoutDomain(document.location()) + } + + override fun chapterListSelector() = ".chapter_content a" + + override fun chapterFromElement(element: Element) = SChapter.create().apply { + name = element.selectFirst(".name_chapter")!!.text() + val date = element.selectFirst("span.release-date")?.ownText() ?: "" + date_upload = date.substringAfter(":").trim().toDate() + setUrlWithoutDomain(element.absUrl("href")) + } + + override fun chapterListParse(response: Response) = + super.chapterListParse(response).reversed() + + override fun pageListParse(document: Document) = + document.select("div.manga_image > img").mapIndexed { index, element -> + Page(index, imageUrl = element.imgAttr()) + } + + override fun imageUrlParse(document: Document) = "" + + override fun getFilterList(): FilterList { + val alphabet = mutableListOf(DEFAULT_FILTER_VALUE).also { + it += ('A'..'Z').map { "$it" } + } + + return FilterList( + Filter.Header( + """ + Busca por título possue prioridade. + Deixe em branco para pesquisar por letra + """.trimIndent(), + ), + AlphabetFilter("Alfabeto", alphabet), + ) + } + + private fun Element.imgAttr(): String { + return when { + hasAttr("data-lazy-src") -> attr("abs:data-lazy-src") + hasAttr("data-src") -> attr("abs:data-src") + hasAttr("data-cfsrc") -> attr("abs:data-cfsrc") + else -> attr("abs:src") + } + } + + private fun String.toDate(): Long = + try { dateFormat.parse(trim())!!.time } catch (_: Exception) { 0L } + + companion object { + val dateFormat = SimpleDateFormat("dd/MM/yyyy", Locale.ROOT) + const val PREFIX_SEARCH = "id:" + const val DEFAULT_FILTER_VALUE = "Padrão" + } + + class AlphabetFilter(displayName: String, private val vals: List, state: Int = 0) : + Filter.Select(displayName, vals.toTypedArray(), state) { + fun selected() = vals[state] + } +} diff --git a/src/pt/exhentainetbr/src/eu/kanade/tachiyomi/extension/pt/exhentainetbr/ExHentaiNetBRUrlActivity.kt b/src/pt/exhentainetbr/src/eu/kanade/tachiyomi/extension/pt/exhentainetbr/ExHentaiNetBRUrlActivity.kt new file mode 100644 index 000000000..48d0639d8 --- /dev/null +++ b/src/pt/exhentainetbr/src/eu/kanade/tachiyomi/extension/pt/exhentainetbr/ExHentaiNetBRUrlActivity.kt @@ -0,0 +1,37 @@ +package eu.kanade.tachiyomi.extension.pt.exhentainetbr + +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 ExHentaiNetBRUrlActivity : Activity() { + + private val tag = javaClass.simpleName + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + val pathSegments = intent?.data?.pathSegments + if (pathSegments != null && pathSegments.size > 1) { + val item = pathSegments[1] + val mainIntent = Intent().apply { + action = "eu.kanade.tachiyomi.SEARCH" + putExtra("query", "${ExHentaiNetBR.PREFIX_SEARCH}$item") + putExtra("filter", packageName) + } + + try { + startActivity(mainIntent) + } catch (e: ActivityNotFoundException) { + Log.e(tag, e.toString()) + } + } else { + Log.e(tag, "could not parse uri from intent $intent") + } + + finish() + exitProcess(0) + } +}