From c5aac9174a2c61c1d8f5ae211e8032e27c33ecd1 Mon Sep 17 00:00:00 2001 From: krysanify Date: Fri, 7 Mar 2025 04:37:48 +0800 Subject: [PATCH] src/pt dead sources (#756) Co-authored-by: Your Name --- src/pt/anidong/AndroidManifest.xml | 23 -- src/pt/anidong/build.gradle | 7 - .../anidong/res/mipmap-hdpi/ic_launcher.png | Bin 2913 -> 0 bytes .../anidong/res/mipmap-mdpi/ic_launcher.png | Bin 1556 -> 0 bytes .../anidong/res/mipmap-xhdpi/ic_launcher.png | Bin 3725 -> 0 bytes .../anidong/res/mipmap-xxhdpi/ic_launcher.png | Bin 6620 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 8456 -> 0 bytes .../animeextension/pt/anidong/AniDong.kt | 264 ------------- .../pt/anidong/AniDongFilters.kt | 124 ------ .../pt/anidong/AniDongUrlActivity.kt | 41 -- .../pt/anidong/dto/AniDongDto.kt | 53 --- src/pt/flixei/AndroidManifest.xml | 23 -- src/pt/flixei/build.gradle | 12 - src/pt/flixei/res/mipmap-hdpi/ic_launcher.png | Bin 2691 -> 0 bytes src/pt/flixei/res/mipmap-mdpi/ic_launcher.png | Bin 1540 -> 0 bytes .../flixei/res/mipmap-xhdpi/ic_launcher.png | Bin 3639 -> 0 bytes .../flixei/res/mipmap-xxhdpi/ic_launcher.png | Bin 6509 -> 0 bytes .../flixei/res/mipmap-xxxhdpi/ic_launcher.png | Bin 9136 -> 0 bytes .../animeextension/pt/flixei/Flixei.kt | 346 ----------------- .../pt/flixei/FlixeiUrlActivity.kt | 42 -- .../animeextension/pt/flixei/dto/FlixeiDto.kt | 33 -- src/pt/listadeanimes/build.gradle | 7 - .../res/mipmap-hdpi/ic_launcher.png | Bin 6821 -> 0 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 3644 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 9450 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 17931 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 24761 -> 0 bytes .../pt/listadeanimes/ListaDeAnimes.kt | 112 ------ src/pt/megaflix/AndroidManifest.xml | 23 -- src/pt/megaflix/build.gradle | 20 - .../megaflix/res/mipmap-hdpi/ic_launcher.png | Bin 2775 -> 0 bytes .../megaflix/res/mipmap-mdpi/ic_launcher.png | Bin 1545 -> 0 bytes .../megaflix/res/mipmap-xhdpi/ic_launcher.png | Bin 3752 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 6779 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 9754 -> 0 bytes .../animeextension/pt/megaflix/Megaflix.kt | 317 ---------------- .../pt/megaflix/MegaflixFilters.kt | 59 --- .../pt/megaflix/MegaflixUrlActivity.kt | 41 -- .../pt/megaflix/WebViewResolver.kt | 69 ---- .../megaflix/extractors/MegaflixExtractor.kt | 28 -- src/pt/pobreflix/build.gradle | 19 - .../pobreflix/res/mipmap-hdpi/ic_launcher.png | Bin 3120 -> 0 bytes .../pobreflix/res/mipmap-mdpi/ic_launcher.png | Bin 1685 -> 0 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 4082 -> 0 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 7093 -> 0 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 9324 -> 0 bytes .../animeextension/pt/pobreflix/Pobreflix.kt | 80 ---- .../pobreflix/extractors/MyStreamExtractor.kt | 48 --- .../extractors/PlayerFlixExtractor.kt | 35 -- .../extractors/SuperFlixExtractor.kt | 134 ------- src/pt/vizer/AndroidManifest.xml | 23 -- src/pt/vizer/build.gradle | 16 - src/pt/vizer/res/mipmap-hdpi/ic_launcher.png | Bin 4615 -> 0 bytes src/pt/vizer/res/mipmap-mdpi/ic_launcher.png | Bin 2844 -> 0 bytes src/pt/vizer/res/mipmap-xhdpi/ic_launcher.png | Bin 6542 -> 0 bytes .../vizer/res/mipmap-xxhdpi/ic_launcher.png | Bin 11032 -> 0 bytes .../vizer/res/mipmap-xxxhdpi/ic_launcher.png | Bin 16184 -> 0 bytes .../animeextension/pt/vizer/Vizer.kt | 359 ------------------ .../animeextension/pt/vizer/VizerFilters.kt | 116 ------ .../pt/vizer/VizerUrlActivity.kt | 42 -- .../animeextension/pt/vizer/dto/VizerDto.kt | 92 ----- .../pt/vizer/interceptor/WebViewResolver.kt | 78 ---- 62 files changed, 2686 deletions(-) delete mode 100644 src/pt/anidong/AndroidManifest.xml delete mode 100644 src/pt/anidong/build.gradle delete mode 100644 src/pt/anidong/res/mipmap-hdpi/ic_launcher.png delete mode 100644 src/pt/anidong/res/mipmap-mdpi/ic_launcher.png delete mode 100644 src/pt/anidong/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 src/pt/anidong/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 src/pt/anidong/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 src/pt/anidong/src/eu/kanade/tachiyomi/animeextension/pt/anidong/AniDong.kt delete mode 100644 src/pt/anidong/src/eu/kanade/tachiyomi/animeextension/pt/anidong/AniDongFilters.kt delete mode 100644 src/pt/anidong/src/eu/kanade/tachiyomi/animeextension/pt/anidong/AniDongUrlActivity.kt delete mode 100644 src/pt/anidong/src/eu/kanade/tachiyomi/animeextension/pt/anidong/dto/AniDongDto.kt delete mode 100644 src/pt/flixei/AndroidManifest.xml delete mode 100644 src/pt/flixei/build.gradle delete mode 100644 src/pt/flixei/res/mipmap-hdpi/ic_launcher.png delete mode 100644 src/pt/flixei/res/mipmap-mdpi/ic_launcher.png delete mode 100644 src/pt/flixei/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 src/pt/flixei/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 src/pt/flixei/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 src/pt/flixei/src/eu/kanade/tachiyomi/animeextension/pt/flixei/Flixei.kt delete mode 100644 src/pt/flixei/src/eu/kanade/tachiyomi/animeextension/pt/flixei/FlixeiUrlActivity.kt delete mode 100644 src/pt/flixei/src/eu/kanade/tachiyomi/animeextension/pt/flixei/dto/FlixeiDto.kt delete mode 100644 src/pt/listadeanimes/build.gradle delete mode 100644 src/pt/listadeanimes/res/mipmap-hdpi/ic_launcher.png delete mode 100644 src/pt/listadeanimes/res/mipmap-mdpi/ic_launcher.png delete mode 100644 src/pt/listadeanimes/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 src/pt/listadeanimes/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 src/pt/listadeanimes/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 src/pt/listadeanimes/src/eu/kanade/tachiyomi/animeextension/pt/listadeanimes/ListaDeAnimes.kt delete mode 100644 src/pt/megaflix/AndroidManifest.xml delete mode 100644 src/pt/megaflix/build.gradle delete mode 100644 src/pt/megaflix/res/mipmap-hdpi/ic_launcher.png delete mode 100644 src/pt/megaflix/res/mipmap-mdpi/ic_launcher.png delete mode 100644 src/pt/megaflix/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 src/pt/megaflix/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 src/pt/megaflix/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 src/pt/megaflix/src/eu/kanade/tachiyomi/animeextension/pt/megaflix/Megaflix.kt delete mode 100644 src/pt/megaflix/src/eu/kanade/tachiyomi/animeextension/pt/megaflix/MegaflixFilters.kt delete mode 100644 src/pt/megaflix/src/eu/kanade/tachiyomi/animeextension/pt/megaflix/MegaflixUrlActivity.kt delete mode 100644 src/pt/megaflix/src/eu/kanade/tachiyomi/animeextension/pt/megaflix/WebViewResolver.kt delete mode 100644 src/pt/megaflix/src/eu/kanade/tachiyomi/animeextension/pt/megaflix/extractors/MegaflixExtractor.kt delete mode 100644 src/pt/pobreflix/build.gradle delete mode 100644 src/pt/pobreflix/res/mipmap-hdpi/ic_launcher.png delete mode 100644 src/pt/pobreflix/res/mipmap-mdpi/ic_launcher.png delete mode 100644 src/pt/pobreflix/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 src/pt/pobreflix/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 src/pt/pobreflix/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 src/pt/pobreflix/src/eu/kanade/tachiyomi/animeextension/pt/pobreflix/Pobreflix.kt delete mode 100644 src/pt/pobreflix/src/eu/kanade/tachiyomi/animeextension/pt/pobreflix/extractors/MyStreamExtractor.kt delete mode 100644 src/pt/pobreflix/src/eu/kanade/tachiyomi/animeextension/pt/pobreflix/extractors/PlayerFlixExtractor.kt delete mode 100644 src/pt/pobreflix/src/eu/kanade/tachiyomi/animeextension/pt/pobreflix/extractors/SuperFlixExtractor.kt delete mode 100644 src/pt/vizer/AndroidManifest.xml delete mode 100644 src/pt/vizer/build.gradle delete mode 100644 src/pt/vizer/res/mipmap-hdpi/ic_launcher.png delete mode 100644 src/pt/vizer/res/mipmap-mdpi/ic_launcher.png delete mode 100644 src/pt/vizer/res/mipmap-xhdpi/ic_launcher.png delete mode 100644 src/pt/vizer/res/mipmap-xxhdpi/ic_launcher.png delete mode 100644 src/pt/vizer/res/mipmap-xxxhdpi/ic_launcher.png delete mode 100644 src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/Vizer.kt delete mode 100644 src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/VizerFilters.kt delete mode 100644 src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/VizerUrlActivity.kt delete mode 100644 src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/dto/VizerDto.kt delete mode 100644 src/pt/vizer/src/eu/kanade/tachiyomi/animeextension/pt/vizer/interceptor/WebViewResolver.kt diff --git a/src/pt/anidong/AndroidManifest.xml b/src/pt/anidong/AndroidManifest.xml deleted file mode 100644 index 2970f0d2..00000000 --- a/src/pt/anidong/AndroidManifest.xml +++ /dev/null @@ -1,23 +0,0 @@ - - - - - - - - - - - - - - - - diff --git a/src/pt/anidong/build.gradle b/src/pt/anidong/build.gradle deleted file mode 100644 index 57fb4d05..00000000 --- a/src/pt/anidong/build.gradle +++ /dev/null @@ -1,7 +0,0 @@ -ext { - extName = 'AniDong' - extClass = '.AniDong' - extVersionCode = 2 -} - -apply from: "$rootDir/common.gradle" diff --git a/src/pt/anidong/res/mipmap-hdpi/ic_launcher.png b/src/pt/anidong/res/mipmap-hdpi/ic_launcher.png deleted file mode 100644 index 50be877d9eee020ae6b8af0afe1d530b649df01e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2913 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 LNkvXXu0mjf5_o@x diff --git a/src/pt/anidong/res/mipmap-mdpi/ic_launcher.png b/src/pt/anidong/res/mipmap-mdpi/ic_launcher.png deleted file mode 100644 index b23fff3abdcab12d6e4ef9c6ae18ed8187ad3ab8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1556 zcmV+v2J88WP)k1(T5MoS8slR77m$-@$ z1(ATTx95hD7;AZG=<&(P$@j>Z51b*y076$KB>Z8uS~d2D{t)0Rd~k5^^j(u_B^l=t z7hD18x$f!s_}lKpdn<&upVVT_-n*wK<4il}gDU_{+He9eWgp0SVqOtq@cwX-07Q|o z>EhC)W``(1yumQ#Dnd-W9H4*zc=WJmQUc z*LK_hF)LPZIp9e=@5+kZ_{93k29R>V7x8kyoLw;Azt5M%E25))a)38a-M2OS+9h*qqDW@)73HDu)P zekAJFLK(D_yqP?FkGOQR8xg8Ftcl8GHCO)n4zreNr06#;^b;^|wP0xCYx1iAZh+{h zD2D@EGBc5rlY?DlWo*)&J9i>KKOZ+nN1;}$p;D<(T2g|ntSpq2mZG7d0VmtrksbdD zuHU(U2Q~|y(XB`S*hyrquExOFDF*OT%g&z-}Dj12ZYDLkDxa1kMjCD{G)3Do~ogo^d8_>=$$E&xXca#a4S0UF} zgCm2vh*c+};DuV^&>Ki4zim%`AH%nPz)J1&@&O|Cdgee)O%2Az#?af_i}CSscK&@& z4+NWy)zL&gUSE&w>}(_x5c@GWG=!crzcLrj|Ji}b*=r2?P2+xyO!cvNPt>g=dC`sx zLoPb6)*?MFn}y84_!&0La;26e^DB6cBsdL4Sq@MD*L#3noG*80ItI_B)482vRmd0a zB-TenNZtp;Ch+Fb+Y^wpcv%im0B;;{1(SLXa@W?~ys`iy!oz)XfJdAsIM>ye1rV;& zJp$l7m^aTya-9(q?-PKSt^Nd&3LCGISf|x;J0P{X{#toE1ou_Q6@bS999 z0Bu;9*A93C;z_tq0KAt|Ppj+hKEW$qRuYG4G@=gh!bpkbO<12Uqs{=lqUGG3<*d3_ zS0RmB?KcO+!2VAF`fqhO0r;JKYNYJuxia|@E{h-qVa7Z+mq_aA{(#%R*C~Kzxk^fUB;`Qf#ykc5zWkWVcGuRXh;H!ea|Xh*(sy z<*FRZAs)2`ST-OcctQ@VFo0kX2nmTCxghVc|3AsR%)Gq!x_hQ)9??wI)ZA~G`a-O9?! zx9jWc8`_B=GME=H0R(=?;K74)LV|-g*4EZu-P+o!DCYuSU|`;KYTIA}D$tf0U7mGA zLqj1kF|jlxH1wW|ii#g`90U-P1RerNCNwoQH99#tdFScc+C06{=&j$(pjhCWEjQCQ z-nt113Hwji)!lUF%$f7;B=`+SJOqTGqMm~W4SKY;re?kf_+|kUt#x8up2Pcs zzg)l~KnXv1JNjm3p754%c?s#t$=Zk~o^NPK#d>G)ZuS?3cnAnb1<{!q8OOZ25f89| zwsy1a8}Sw-AibS{Cj4xhGJ3gK1cYK8m4GVG`m(?`3y|6RMgZ1g;cc3X1Z1Mj&v?rx zz)UDI3zj-?t7b5w{qxn2b^^|zK1#&$Jiu!3MFFr|p4VHX6OfUf-YEq6vPRy-Yy>$da*=FcICB5#S4WUlwiD(s>9G z0mN>7(g{dUOY@ln%z|$O93yq?B+NDf%!VQ!AbDh1;F{IJ((hSrIRRFMA|9Z4WJCdz zEpHhC{(!e56d3{ENFB3;NGBjIHPuiK;7!83ay-*sv*5|7kN;&$e~OT|681-c6?woY zA(sn5wh&-v9^eThJTjuzEvi%1Zy5nba{#YJn~`IID+;C=dFceCrlk1I0sa!O8Blra z$_PDX0H?az`nD1f=upH19FGjkgG9=0A;4%j;;~jwi}Ll|sE4q?G)tIe1h7Dt6^e`k z%L5#b42vLExpV?jl9Q$90DolhdI<{%BVZe;0Kon%&B+M(v3!FOJ;+=*0 z3Qx8YK%Iz-kB9oYI>6T#J;$JXg?;hj#c;!@Q7~crcsP6Ztk>7uc|kQJ=Z%nu2mce_ zCwIc~FCV~{Ih~#Q#>xfS{#Z_cwlh6@_JmJ&?Sdme`~Z_DPu3AYa+4-a0*Aw)JTJWW zUdYYOg%=ksg2qOAWd`8z;lof;QUWs{d=Lr?3p)`=4_0)HeFs`js4_c5tLSMg&Q)aw27e1_$y{10WR2j=q>#2QV2MD zrVOHcCBnojXLr)0ZbhhXJ^^oi{g6^ey(}TXSNtD8VFIjLwF*|QTnSIlo7X;|j#2N~ zyBD&vv%LaK4>xVx2s3BSgt?DDu6)uJ6%_?erxTi*=*2RCr=ENg-h1yo7@IQ_#`Sv; zT3Qs&Z62gI2I(H)i-6(7hr`BAo8aH;*1?=PbD&_v z2snB2Bpg0;$UPt;fO10t%4#nPP0Ndl6szC3VT0ua5J*E(??7u_=qBLRaiy>qJz;Id zb2?ye?KevaN%MEy0$0WigTjG}+ywCC0?P@YP6P)B!|F9_prD`tZX7)t($dmkJp#E7 z$(a4{!|nm?{o)I+1l)rJ6bTSOZBqE5Tk8SzJT^QHo*MNrY&o<7iVqdRV}4-7S` z2dJQF3HZEfJ%*q%zXUv2atoyO&V>gCErazH3t(5(8n?BF2KRvMKG#8g(@CglJfbro z=>#MuByQuP%&N~4&^1*NnM}7PDRgy8qeB3SQCV;#`d){OVl=Z+>IM;vX>8F(#PaZ&ZR00x{l3>P+8E_YZo0XLX`T6;f zgR`iSBS*Typ8d!pP+eUOYuB!IKijZ=Jsdw;12-Ztap4(2mLC(IjQPb0|0;U|_MhD1 zmL&p`B0Eog)yYcRG_;L?Jyn#1+dLq{aW!0*JW*L|Ty(V{0XHbmssHJYJeYdzE09Qf zaneK6QVMgngrJ1@cwG+Iim^X`;6ONk?i}pGMc9A0Z-;%~ehaug6T-v8;p=a{fts2c z7=a$~8G4GAfS8yV*tdT_&;pJ?oi%F~JdSIC$L7xMWbN7qQ>ILTZN=N*nbBJysz)p| zwVuOp@Dc1d@;1<7NP7_heR?LrzUpGl6!8+ohxdhkv4cB2U>p*l%!1ko$m(+~JTmkh zWkvk)fhDm0$SU0wGc-61`o|SO|JVY!GIl7WAt?bNV8DO@iq+G6y{UagtBuuT#*Beu z$Bw~)0|$WqO|#@}NE*rD_I?;UZXBFAejLin%av!jn9%dkYkbCgtp7O@NmJZ(v{Ev` zQw>Lz1)1kXI`ZO2VLKu4UCjh&fo^BM1W zEhT`r6Kd?V19)F;$poKgJnC4b6A&L4$NY0N%MwMrLd5DXH}EY9K|BQTdWMm3`8KdPPNVGFN@efp5t)RFnV~s4RjA604}JzxjT^2oM2W z2JoVBT~yx4cx+vW#q{Z8Sq?B7ZbU)0!}2Yg1&I*AYfUUUnW4x|@GVKgECN_yYTcDb z)(H4A60?zb@2!sXg_xEA9ss>{il?3t;AMp(S>RjZ0ezyQ1C|4f<_J-b_{9*wW9c$x zMn=3vq;F;jksgBld4TAkc;tq7xOE9FC}{@9|wfhq#$ONzao6@&*E* zK2-u#87l^QIqUQ!fIufA=!8f9Z*|{ztpc0@BM@*~Nj!On`GIVqSto?RT2z1#5ban6o+W&6r4JiD- rzH{IM40q?|yFDPllynmiU;_RR{`m(&);Ga400000NkvXXu0mjf%#+`z diff --git a/src/pt/anidong/res/mipmap-xxhdpi/ic_launcher.png b/src/pt/anidong/res/mipmap-xxhdpi/ic_launcher.png deleted file mode 100644 index 720b33ebac82076700d0d8c75ac2d8c06f143e43..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6620 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 diff --git a/src/pt/anidong/src/eu/kanade/tachiyomi/animeextension/pt/anidong/AniDong.kt b/src/pt/anidong/src/eu/kanade/tachiyomi/animeextension/pt/anidong/AniDong.kt deleted file mode 100644 index ea22f1d3..00000000 --- a/src/pt/anidong/src/eu/kanade/tachiyomi/animeextension/pt/anidong/AniDong.kt +++ /dev/null @@ -1,264 +0,0 @@ -package eu.kanade.tachiyomi.animeextension.pt.anidong - -import eu.kanade.tachiyomi.animeextension.pt.anidong.dto.EpisodeDto -import eu.kanade.tachiyomi.animeextension.pt.anidong.dto.EpisodeListDto -import eu.kanade.tachiyomi.animeextension.pt.anidong.dto.SearchResultDto -import eu.kanade.tachiyomi.animesource.model.AnimeFilterList -import eu.kanade.tachiyomi.animesource.model.AnimesPage -import eu.kanade.tachiyomi.animesource.model.SAnime -import eu.kanade.tachiyomi.animesource.model.SEpisode -import eu.kanade.tachiyomi.animesource.model.Video -import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource -import eu.kanade.tachiyomi.network.GET -import eu.kanade.tachiyomi.network.POST -import eu.kanade.tachiyomi.network.awaitSuccess -import eu.kanade.tachiyomi.util.asJsoup -import kotlinx.serialization.json.Json -import okhttp3.FormBody -import okhttp3.Request -import okhttp3.Response -import org.jsoup.nodes.Document -import org.jsoup.nodes.Element -import uy.kohesive.injekt.injectLazy - -class AniDong : ParsedAnimeHttpSource() { - - override val name = "AniDong" - - override val baseUrl = "https://anidong.net" - - override val lang = "pt-BR" - - override val supportsLatest = true - - private val json: Json by injectLazy() - - private val apiHeaders by lazy { - headersBuilder() // sets user-agent - .add("Referer", baseUrl) - .add("x-requested-with", "XMLHttpRequest") - .build() - } - - // ============================== Popular =============================== - override fun popularAnimeRequest(page: Int) = GET(baseUrl) - - override fun popularAnimeSelector() = "article.top10_animes_item > a" - - override fun popularAnimeFromElement(element: Element) = SAnime.create().apply { - setUrlWithoutDomain(element.attr("href")) - title = element.attr("title") - thumbnail_url = element.selectFirst("img")?.attr("src") - } - - override fun popularAnimeNextPageSelector() = null - - // =============================== Latest =============================== - override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/lancamentos/page/$page/") - - override fun latestUpdatesSelector() = "article.main_content_article > a" - - override fun latestUpdatesFromElement(element: Element) = popularAnimeFromElement(element) - - override fun latestUpdatesNextPageSelector() = "div.paginacao > a.next" - - // =============================== Search =============================== - override suspend fun getSearchAnime(page: Int, query: String, filters: AnimeFilterList): AnimesPage { - return if (query.startsWith(PREFIX_SEARCH)) { // URL intent handler - val id = query.removePrefix(PREFIX_SEARCH) - client.newCall(GET("$baseUrl/anime/$id")) - .awaitSuccess() - .use(::searchAnimeByIdParse) - } else { - super.getSearchAnime(page, query, filters) - } - } - - private fun searchAnimeByIdParse(response: Response): AnimesPage { - val details = animeDetailsParse(response.asJsoup()).apply { - setUrlWithoutDomain(response.request.url.toString()) - initialized = true - } - - return AnimesPage(listOf(details), false) - } - - override fun getFilterList() = AniDongFilters.FILTER_LIST - - private val nonce by lazy { - client.newCall(GET("$baseUrl/?js_global=1&ver=6.2.2")).execute() - .body.string() - .substringAfter("search_nonce") - .substringAfter("'") - .substringBefore("'") - } - - override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request { - val params = AniDongFilters.getSearchParameters(filters) - - val body = FormBody.Builder() - .add("letra", "") - .add("action", "show_animes_ajax") - .add("nome", query) - .add("status", params.status) - .add("formato", params.format) - .add("search_nonce", nonce) - .add("paged", page.toString()) - .apply { - params.genres.forEach { add("generos[]", it) } - }.build() - - return POST("$baseUrl/wp-admin/admin-ajax.php", headers = apiHeaders, body = body) - } - - override fun searchAnimeParse(response: Response): AnimesPage { - val searchData: SearchResultDto = response.body.string() - .takeIf { it.trim() != "402" } - ?.let(json::decodeFromString) - ?: return AnimesPage(emptyList(), false) - - val animes = searchData.animes.map { - SAnime.create().apply { - setUrlWithoutDomain(it.url) - title = it.title - thumbnail_url = it.thumbnail_url - } - } - - val hasNextPage = searchData.pages > 1 && searchData.animes.size == 10 - - return AnimesPage(animes, hasNextPage) - } - - override fun searchAnimeSelector(): String { - throw UnsupportedOperationException() - } - - override fun searchAnimeFromElement(element: Element): SAnime { - throw UnsupportedOperationException() - } - - override fun searchAnimeNextPageSelector(): String? { - throw UnsupportedOperationException() - } - - // =========================== Anime Details ============================ - override fun animeDetailsParse(document: Document) = SAnime.create().apply { - val doc = getRealDoc(document) - val infos = doc.selectFirst("div.anime_infos")!! - - setUrlWithoutDomain(doc.location()) - title = infos.selectFirst("div > h3")!!.ownText() - thumbnail_url = infos.selectFirst("img")?.attr("src") - genre = infos.select("div[itemprop=genre] a").eachText().joinToString() - artist = infos.selectFirst("div[itemprop=productionCompany]")?.text() - - status = doc.selectFirst("div:contains(Status) span")?.text().let { - when { - it == null -> SAnime.UNKNOWN - it == "Completo" -> SAnime.COMPLETED - it.contains("Lançamento") -> SAnime.ONGOING - else -> SAnime.UNKNOWN - } - } - - description = buildString { - infos.selectFirst("div.anime_name + div.anime_info")?.text()?.also { - append("Nomes alternativos: $it\n") - } - - doc.selectFirst("div[itemprop=description]")?.text()?.also { - append("\n$it") - } - } - } - - // ============================== Episodes ============================== - override fun episodeListSelector(): String { - throw UnsupportedOperationException() - } - - override fun episodeFromElement(element: Element): SEpisode { - throw UnsupportedOperationException() - } - - override fun episodeListParse(response: Response): List { - val doc = getRealDoc(response.asJsoup()) - - val id = doc.selectFirst("link[rel=shortlink]")!!.attr("href").substringAfter("=") - val body = FormBody.Builder() - .add("action", "show_videos") - .add("anime_id", id) - .build() - - val res = client.newCall(POST("$baseUrl/api", apiHeaders, body)).execute() - .body.string() - val data = json.decodeFromString(res) - - return buildList { - data.episodes.forEach { add(episodeFromObject(it, "Episódio")) } - data.movies.forEach { add(episodeFromObject(it, "Filme")) } - data.ovas.forEach { add(episodeFromObject(it, "OVA")) } - sortByDescending { it.episode_number } - } - } - - private fun episodeFromObject(episode: EpisodeDto, prefix: String) = SEpisode.create().apply { - setUrlWithoutDomain(episode.epi_url) - episode_number = episode.epi_num.toFloatOrNull() ?: 0F - name = "$prefix ${episode.epi_num}" - } - - // ============================ Video Links ============================= - override fun videoListParse(response: Response): List