From 1a959f6ab4b10ecbab9072a00e2888092cc12b9d Mon Sep 17 00:00:00 2001 From: Tomoka1 <141353477+Tomoka1@users.noreply.github.com> Date: Tue, 29 Aug 2023 01:42:33 +0200 Subject: [PATCH] Add Collected Curios to Tachiyomi extensions. (#17671) * Add Collected Curios to Tachiyomi extensions. Still to do: * Add additional pages like Spider and Scorpion, Portfolio, etc. * More refactoring. * * Redone Icon in Android Asset Studio. * Update src/en/collectedcurios/AndroidManifest.xml Fixed AndroidManifest as in draft. Co-authored-by: arkon * Update src/en/collectedcurios/build.gradle extVersionCode 1 is enough. Co-authored-by: arkon * Update Collectedcurios.kt Addressed Arkons suggestions. Further refactoring needed. * Update src/en/collectedcurios/build.gradle * Shorten source to just itself. Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> * Apply suggestions from code review Accept all suggestions by alessandrojean. * Exchange blank "date" for "Chapter". * Remove date_upload as not needed. * Restructure when condition in imageUrlParse. Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> --------- Co-authored-by: arkon Co-authored-by: Alessandro Jean <14254807+alessandrojean@users.noreply.github.com> --- src/en/collectedcurios/AndroidManifest.xml | 2 + src/en/collectedcurios/build.gradle | 12 ++ .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2582 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1506 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 3367 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 5917 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 8406 bytes src/en/collectedcurios/res/web_hi_res_512.png | Bin 0 -> 28098 bytes .../en/collectedcurios/Collectedcurios.kt | 153 ++++++++++++++++++ 9 files changed, 167 insertions(+) create mode 100644 src/en/collectedcurios/AndroidManifest.xml create mode 100644 src/en/collectedcurios/build.gradle create mode 100644 src/en/collectedcurios/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/en/collectedcurios/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/en/collectedcurios/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/en/collectedcurios/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/en/collectedcurios/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/en/collectedcurios/res/web_hi_res_512.png create mode 100644 src/en/collectedcurios/src/eu/kanade/tachiyomi/extension/en/collectedcurios/Collectedcurios.kt diff --git a/src/en/collectedcurios/AndroidManifest.xml b/src/en/collectedcurios/AndroidManifest.xml new file mode 100644 index 000000000..8072ee00d --- /dev/null +++ b/src/en/collectedcurios/AndroidManifest.xml @@ -0,0 +1,2 @@ + + diff --git a/src/en/collectedcurios/build.gradle b/src/en/collectedcurios/build.gradle new file mode 100644 index 000000000..fee1c12a4 --- /dev/null +++ b/src/en/collectedcurios/build.gradle @@ -0,0 +1,12 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' +apply plugin: 'kotlinx-serialization' + +ext { + extName = 'Collected Curios' + pkgNameSuffix = 'en.collectedcurios' + extClass = '.Collectedcurios' + extVersionCode = 1 +} + +apply from: "$rootDir/common.gradle" diff --git a/src/en/collectedcurios/res/mipmap-hdpi/ic_launcher.png b/src/en/collectedcurios/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..1f05e5105a94795325c7ad082f7123d8ac7b5c04 GIT binary patch literal 2582 zcmV+x3hDKUP)9JF=o*3cR?YJ{aqm8xixBuUbJ|Nh;Z>temR-6sSE1^rNY z^Xb#4|DHa5`dFPhbzbNkzQ;6=*c44VckbLwUAuOjlRSCy8VXLR4wk}h#r%0c1?Y>8 z_v+iXZzs2J-`=xj%a#xH?{A*&5feZ`g9Z%>ojiH+ij*l+HumQvoidg(>FBs|DWDQ;QqxNA&xtu@ECuM>qeqV-vS-i!FP+mzcmBu|KtXzP8U<)7_w~2GXceBhe=eQ(c5)$GQixLGOD@0o}k57n(K?@fyG`{KM$B&}LrM!Oq zT9z(dY8V7a%a<<~&Gi2~fKcwun>X_K@naK~OO`AdFC_@~2M!!CP8nvUNRdL;uU~Ii zGkEY|*}QqP(+_pY4IML3vCC81h0Da>Lw}?!n<|r=9jz$HeqJTk|mRsD_5H6hq;kE`69Lh zg#X#NaieV7v`G#fI%FIv(Z^Ld2Zbpi;wrGRef##JMYL$I%0x9^#5RCX_|m0I#GyUL0AV(5+qR7}NGDF5kj9N0n}iW|`kD*b1`tXUS%^As-@Y}a z0b#jczkY5XaGySXq*bd{qP=dfm1JD5Id|@yXuH&8-M)%#05Q>5uU^Ud^XCmXM6m1E zuS<^}J>2SW<;oS4-?VGjPD+<99jl%^0Q?Tot4Wh4#&rErli3Q8tCnZao)yf25baJd z$sEL%5Py5GGwrp7$GGvIU^5c_VMV(8c0d(ii9a*$! zk&GHO%0wPdAW>p);K&OXE^JKa)TvWasZu2=SFW5~zI<8s?%iuj4^oCWEzo&-?NoH-*MI&_fRw{J_@ zv}vVCks`+II4V@AAeAduHkou(fk7|~KStUxbLLEAg7`siB+(ee5O79ZQ{g_j&)PkzKw^4YUzCdYwQ zB%0K3IOF5TkDEjjMJ<-;1`1<(m=BJeW?HFIr9_v<<=C-fGH>2I!=ifi>UnLVjs?gS zI68;*>(@8V99F;>q7#4-!c_^Oe+_G37!iw~ICP6um?;f4J_AU{=Rw{?AnP2;hS8%( z8>Q*>*eQ-@5Q!fBBeG|F&f&v{?Zn6ahFM&-qa{K_!$fG-6YcC2$1{iuy<^9Y29t&j z8_Jd~Y}K((91RfWMTjPmL}+7Bme?td28fjpHYU&(A!-2-ty(+9(Ew4slMoWZ5xRw| zSFg4cALlx07{lrWnK1bc(z2V5mW}KbM@BJx zPOo0QOn(Tmd=Q^mdx7i%$&mn2r57(=T%J66@(UaQ2>|qy7W?<_H$9uE`-sS@=?>Z{ zj$;tz1x;tTptt>Ge*oz- zK-woB?5_#aJq!yAGt0}a`H!V2_hGZRKen}a10Jl^Og`T4Y6R6OgXwQJYTrF#tL zD~oFSI$_L;^(_35JO5*SMlD80ZHMTb&gg>WU+NRF`44(TdzU_@x765cl2$hy6x4OA z8Ts<%E3FH1>|u%58zk(Cx3=R&&7fVu;8g>5oF$Z~pZl(Rl0Iq|^FL$9jt$q{AeZ!B zJhe~m?iu52;d%kPkV15)S9aYL5T;BjtV_QsRlzvF{x@UB4B57ATdaEHqu5`a5TfAd z)PH=|R?9WrxAeEly`SK~9=BgG5SyYnXPCrhWWeHgHaEw1T|(&Rk1;VJ{0y&v0}2Ps z`8_Ffxsx}F0tg4Mh6C82{2dH@V7Ao0L21v0H6RszFFb_0Kzdlqp6?Ii~s-t07*qoM6N<$f(lyWEC2ui literal 0 HcmV?d00001 diff --git a/src/en/collectedcurios/res/mipmap-mdpi/ic_launcher.png b/src/en/collectedcurios/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..d98bb875a990ab6d7f844b2759cc9980440b28c3 GIT binary patch literal 1506 zcmV<81s(c{P)eR z6h#LK?1q<8qYIUa7c|9bM9kF6)G;-k^{sIqPIk`mXxno-Fh6Y0W$(4t_pSf7{(oy= z<)X22{P>@Mr8Q_w1H5M|E=y}^QD9hDy1v*iz2MT*(;Y8dxRAeb_pC7_su3}q`grbt96D=R}zP7cP$$8qxHN$D5S(a{JA2{Atb zI%Ix+K0G}=5gZ&0cXxM_KwQ0g6$J$apk|&veTtxLPZB7p-34nSmU zT)%!D9v&VhgWytSTlXvNYbjc>{6WKzw|>j5OP~Z`Vec{{DV= zd3hNHH8L`SLx&Ebt*s54Hf=I50ora_S{fW39pT{MAVZ?AWMyR`BO?Q@uC4}wrKYB0 zY-|iAB_$?x|ckI|rWVGa!ufDJd!N_V&j8`}eVV^JeKM&z?Pludgp|+_<6DkP^)vJa~YE2M$w|O;a7L-Xz(A=50y8A%&YeR|O${O=BXRNKMWab^T?i<^=H})=lcG8F z_4VQT^XF)7ZN=%+r=`8qJi^1nr9aTlySuy5(a|AIkO{H5xf$orpNGA@y?HfYXf;M6 zQOC-25Mw=k;oiM_=IVPWzf$BOGYLywPf9WU|?WCW>X&WD2ERp#_ij;)xy92PJHd!H6$e^Nx;;=kt0V?TU%>A z1lVEVjw?k93wCxN)RJ{IA=bD%ckYy(H$~XA8X6i>3%}_mBy4zOrDoM~RORL6h>MHU znh(FQfjd1t{YA;S7Dm*nn9rm{wq<5!rdJ$u4Yw8aAYkFbZnUm&QJzMrnXeV0*$GiA zuwTRX0|wjcY~Ft-!r*VB_>MPqQStgmcIQ}yDGscRefaR9Y=V8Q^z`)nA?oU1#5@y> z5z2h}-Zt2ambkm<9{(ynBSrP(xYFY6L`OwMX`NU1dA3g?A|h6r!r*<;NSl87^5vh2 ziHUil+WT8PIHUWpJ_3C6z_tNR$VptR)Ytx6WzEq4Q>M81QjhP&-ihlUUGw1shJf*Z z0%wzkge*yb_CCKvL~A<6Oi16JS(1QJ9a;+5*BO@1XsajiF9pr+Pc2lMP5=M^07*qo IM6N<$g21ucUH||9 literal 0 HcmV?d00001 diff --git a/src/en/collectedcurios/res/mipmap-xhdpi/ic_launcher.png b/src/en/collectedcurios/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8a9f7dbdfd146942ea7f5ab99f05966604f39aa3 GIT binary patch literal 3367 zcmV+?4cPLDP)N=)A;Br2kcYzqf)-A2sDy_VuEE`1 z-uVuD_uXuEXYS1G?B1E3uDZ1|vseHBobEo|ea?*`0f|xsVnpfH0~eP70a4rt0t5sI zh++hy`0{}s5Fj9m5s2c;2YP^y5?~M)An-GRpMrTb{#vHhRRGza?Tg^e`0na?EZ?Bb zcLZ?r_QCYs(yhA!oCbaF+_}l?)~(whapJ^HV#bUa6eC8A)RwN~r#pT6^y%J*4<9bP zeEIUutaK>Z_kD-$^vy@%HW8{nDmQJ6S>SCb$=bYn-hR5L=xj{`2S0wEm~9)VTf5J@f+VEqDPM&GHlqe zNK;FGN5JIClV$MW!J@_^(yUoCnJ{63JbLs9s`N-0a1E|mfW3TQ7XMT!(&W5DkT zK>Zv#bVyW`R_fQUuU*h;)vC$4bLTXu#ful0dGqGU>({SEC6MIe#fy4>NI{jYS+ho} zRH+gmAR-aCd-tveed5H4TJ@w#l}a0Jj5X?K@7}#~^X5(Y_SCz zW$PYbxQ506N<~>C6bKA+n>KBp*xy(P9JfL7VAT|3#d zX_GvA_DocQU#p@aLxy+@hrgY7%$PAUbm&kWL#kc7w%4v}O9FUWTI0QY_q373E1?$< z9tcY?p6nkd4p~vp1^v$e?%K6$^84?8OoQlyAnzI<6wLyVNYDYhbj2i>=CpR8ZMUI)?W35-bd<;$o2 zaYu6O*fH&)NHMJ-mWn7gO4be!!72z}S6o@#4jrG*<<;m)6f1WYVNbIzi(}Z?bZI+Yym_&IlC5Q61w&@QfhkwPzwyoNVI(U<(F1E zfnZ4Sim(R&Wk~2WB)=QKk(?*=;Yf8EIb{ZGL{|ycF;>A@a932KV)AtZS!SFWu0Lrwkg!w=eXb60$V0MrRSK0z{9 zyZnIz2c$xU3Yq}GCa9MyS1t((3exI`mY+9oUP+!jxl;@|2eBb~7J_=i{dMM{IXbaV z5P*>!Fkpb}-@jic*{N`_T1-W#xn|9p8sOi4`%SWE&+ZiH@OB_Z1>mZtUlYoGOqnvp zBUjZY2mlaN3O+iLRH%^b-o0BJWOoHGi3Wg?r|xL>?AgNj!;`$R z&k$f3Ox(;qefsFoG-HJ7)vG%UQ9#)6;lp)n#gMxjFT%S*brBz;G0+2uO_8kegjAm* zz#sutf}f9i!DS>|oF+{gNs=Uq9<(uv#f@ZCjmjXd#BUJb?#LEb7^B<2e}CQbNmJ6Z zxTYuKa|DA+!%dq zfGb^{YKL#W`9}8)_^km^^?c|Dy!jdNr-SZe( zGk)M2&PL5X?}oYpys?nRo03l*?IU$24;y88`zaxMF8Q}?1 zjD`dVh{UFcKmYaDU+Zb92zG$_(m)T0BoZiTVIqbBK7X+XgbwT|ey4&cq#_1nPC<6) z&_S1(*irn70KyIg&IrJnB|tzVHNB%pkLuu9=mb0&tnuT=N77xmb{W6w0jL?WWoCg4 zk|<=w>?nRi05N=W#l-u~2AIzQ0wSU5QKd$f>(;GXe^WsL0wRF`GFOzRhb4ms4btmJ z*irmO1u=cenDHLk22jE>aNs~Y;&1=rTq~$yXsP=-dGh4n3@|?g2(W^p2m6rsrM%Es z2`jW48X&*}aIGA=aN$BdF(b71V;nnf+&Jmpy}OlDMfyHIZv$xUL_5g=hbN2=D5|xi z_&fm=U**Y@M<^W+Eru$>I8$A1NAY}_849m`3xNyOa`1^Jb zV3Ac^%&^4VBN8M?pjXE7q>9;F>_vDFP*KTio)oKEeNYN)sr6@uidn)_MJ#`iGG$7u zr;n8Vg6FM8*xJ#0^>mdCKdDN%-JiE<@zJSv#{Dz{?#K=tKYm;%>+K|JIn5^uD{d-6 zR!`>z4oOux;CeL?qJXy_l;9hSDLDe2docdbeBP>6t9tvkTspt%m8aEGnw5eHU?z#% ztEU@p&`7K%EVNY*I?S7Dh}utrZ|2$`XLbNr)d*L(gpwC`R%4h^YT^ek@!?HM9=$;$ zE%D)kp=g@eY~4 zF7Ix7FlVb+^M6)TLJcKW(|&?f0%WQp;h)}E3Z5FDu!3uj)Dek!JJbfTjIvsb=!_~7 z=&pJt@pD=~Rb(E$MG3A@L#!FbiyRWE^k5n_ld!H@d$Yb;OCghT0V8BRF+gTrAoKFW z&g=j;M}_pXY16#bDV?5Id57I`K%@m_{@!R_y#3T?yLtG`!EX{ zpz(+xg1@{Cf!|S6#!Ee&-mstTV7xODBMaDo&PL1UJHI=8!>Sbmz)Zi+P;ICqfM?^g znE*e-*3#nuE+hans)ps<+4#(IF5&8a|F7OpI6A0=BUkFY$B= zJ|}R60AqjS{gToBUBX5qHos38(2ehwx{#{`m``dx)|2yCx>1|%WY+I4zfIen9$-@( xeD}7ZYs<9_V*vu9n2G=a0Ro~JfhfNG{{VDsP|C%tH-P{E002ovPDHLkV1k99P&@zt literal 0 HcmV?d00001 diff --git a/src/en/collectedcurios/res/mipmap-xxhdpi/ic_launcher.png b/src/en/collectedcurios/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8614ea6015ba78d4601160355891b08db2aed02e GIT binary patch literal 5917 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 literal 0 HcmV?d00001 diff --git a/src/en/collectedcurios/res/mipmap-xxxhdpi/ic_launcher.png b/src/en/collectedcurios/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..7a289373443b8e2be45229f11fee16a6f7653135 GIT binary patch literal 8406 zcmYkCby$>9*RS`$(9+#Qmy}3I4k4uy(jZ;ZNH+u0jR+``0)li&ODPD5pa@8}ba!(e z-|zj-Ie*N|bus(ev(|d{TI;v&O|*uZ5uMOon~^x5(6g^dZlKb>~O0ssM2 z6lAr1Ot!Od8g+l4ers6KP>6_oYs-A^mX)cHmGvzN6E*W&HhJoP{Rk`0S4q{clODW! zo*Nc3V6DbPeRElx)3ST((fWmY&V4ZOk6-rTw2^m?`-y>n;Hk-P6Mr@~Rys~gf->!% zIlde|It?^H99px20=Z?8rqU(=aZh86jtIOy-uwOy4=7;vXP~2@Y8ZmfePF0wq=7pU zXpDW~XXFP&)SM0k*r4C_L(UC@7b)=A{!1ylNMe z68&lUh|9GwKo4Ql`{d&yQUyiQpwXPOd*z+iUTDu+Ae8KmNOzUE<)7P4_GaY+%OoC` z!B-wPgG$|_iM`b9gmJIYb$_~F51ckAOAtlQ|0QweIU3~-lcJ=8V%)aJC8ZUUHGan%w3`l}?MF+T$R_^u zzP$G>B>3ih)jg2+>TX!n|k%M5t_n(l0~Ww&j!_GHq5umpq{<1-uKbfFtvF+z8?;d@+i~q;;Cfz~UbrK_liWCE6GBDWO&=h65 z^>4^W-0?LU$wpc-i#Cbn%2pj^`|nI#k7%hIYrp_1>ATp;j}`&oI&`CWcC2&wjWM`2 zPxd9|Ou(t4GZDe^LI;2Q)jf~nQN4ELt#6Y98}=vMFbq`Ib^KuBp7+jlQ)d)0i!{k+ zQ>zE|1b67g>)x7RNS6SVPGn{^`dnok8t9pNx##{PLwNJX0+N_uAWPyj zhPQs)qRRQiwp(@HBN?-w9v2U6?%Xd)Y_qp}Y2DkrSurK6s3k@uj8$iUJ(%H8F`+2q z{Z^jbtwk~Lvj`_B+xVhhdiiI#{mr|(JV>uc;EJ;^0=up&pQgp(|K~*UV z1IPqw=>xG*Mxe1;*?yBzp+z@#FhklTE2a^KE^fToLL+Q{|06&dW5|7!HHT@~UERAx z2ir9la*9vIh$yk@+^yxWw`7jGaXTf`Z^VaC`;>x&WA2 zq7AN9t$IhoP{OGAQ>=wb&|#ZB$A=$|F8v@E_EQWCWZEZHaztRDeuH{&HljyZQ0>}* zg>@f@KnCc%%v>jKGtSdQ&#kD3tz4cl*m2YCb;IycPmb~1H}S}$c*vpBvO)sRXw>Ys z($UF**+~Nr_(&XGf@B9PRWK`zJ&BUxS)qR$mg>XcAiF88D?;4leVwUZ%ezBV;9Y^{3CJ{SU^%hRctXCO)!(*T;Wuo1)uq_rEc&xTP=z6gH%l ze0cJX`}23T^6DO%Srfx>LmY5V^3C^je!WDQn?@QD$2S=wP8k>54Rg9@G-2&T``+|8 zI)3R{llGbNR31Ux(1S^857s7qd{yE|kF=ZI?S*ewANw1DoeV z@kZ#qr-^ZZkMi}!u}-DQXYHYEsnUW5Wsnr5>>te4m4Gz$p7B)OwJg_ms-Li-74|!N z{^^$@4@H;6Msfbg+5Qp>Iv^}DZmFkv;8q~MoFw1sEy==*0k{}BTO~QNJf2$fXEk5@ zu4dWB=@<)i_@F$fk%gy?EAd!+NxAhfp3eM4>5`KPTgJjt_kv7^*%pp};a4zhgQ`b~ zX?xH{in_EQW|dHGI38)pw8!r!seESzCPC-c;pOuW+lT&qAVPYLn`70|5Q`RbvjXLF zWvH;`DDK`aL^9sNHVHh|5%xW>5_XxD40oC@$gOP&RII*ydoEbx(z>tsX(3{ZrB50< zFk%s9Xw6Tvn@?x`M}LUUIkx4#*`u(R|G9}mC(vk)sd-VfcyTrVlJF))+I;R;z7nBj zN)?)Q793DB$QlbEw_6VfH>OaI0h1&4@MU}1=qLrvRhs=oZH9eVOptTTd#M)Gt^mr$D!+R)Nf0ZF6DrE8*ggq5uaF&W~X zB`Q&uYx#+fbywNapINy1_MQc7d@Op5hz(#8UGLJcVV7BqV&R^7CrK)+G!&_k!w|41 z>p35Sm61zTijL^;YTT;%PS)8_)~tvDsIgEjmm;TgcDai*pP{DlL;%nGV+zrZvGvoV zC3!M#X+PcgB6T0lflkzZr1vW+=zzL{kx(`X&-XvV) zKl<}7to6U!ydT0A*dXZ?wmG!0g1P;EBKmP>rsds=RhEhG-&95Xt_Uh&``66EEU~Ph zcd_{4Pg_ZOb;Px&X`cXe*(K5WX1t#36szRaUl7r z{3zl`Gm~8+1u^`P()jh;EbX-m*3rBkF^t)BiQ22$A?eZ#VF#PG)N9PI7;tb)p3RAC z`QZEe0ynKIp&`k9ztbHj8-=h)14hv$C{yf2l0m|!v3^Ba2YA*97BV)_tPcleneadn zpFwgQ-i~-y?vrpA2t>UTbzyMjRyh$dfCcO^reYEHQ`=_dDa!-!=b3x_M0S*UZ^Qu< zM7{00-)cR#+2m*)gi=RI(O7HfDtB_rpL9gf2IfxVcJj5VU@-<%!NAAyaR8X1(CrD@ z7vp(-u#MOn`IrJj7h-i*IN7inWh9_=4Sv6o6d0qbWI;E|ymzyP{+Ihfc(cL{kq99< zo4^O}=@&|jnUB@AV5r1uM6SomTic9Y?l6V{69bW$B+@UK$0f*t8*EWTM{k3Q+sTwZ zmvVMKy+2%E$~Dp^84jcs@k7Km%W5AB;M6c6;32(S!KJudUETVj8A@pMrSm5K+l4#r zw?SHFJpW_nTB~hNV7&^LE2+4QuP|9^7ejA}szw|=RX^+a=d;Dw59`TF40gKGZBqZU ze!z#SlPYkx{kCmCtCm~8CY$utu*g(gMyXEXcydphvZa*#o7X_eCBEuHf2A7d1iE>azS{^ZnkR|4!aRq*Gw!HXKA!+z)O$|0Fga&i?+FY zi|AW?nd>91{9P6}yrbD;-NJ3@%i0&JVXC)QHXq`v0@a{z`)8~hgC`!7!nf?sMPSH~ zVt^WTGxf5mmQoSJa`h3IUqlRp{fI4?oI{gbIWWW%;1@+3u9Mm}k?Tm;{zI zzqlOCmTEcB#J;Wm#z1@WD|(h6aCQXQ_@Ei@wjL(z@61oUec=8fI*o)?&ibQPQ9^Vk z6!n|b{SX0`{+O@gD(F%vWrOT&-&g(nIf@8{uq=udThv0ZTtoy#d`ACkT-JJ>CjI$F*mHbVu{=8;QSeyY)2FvH@!g&q@gK8VJbQZX*-<@HrxOf? zyp`^m;L0IN;PY2I#Oti94=)BCjFEP4sqe+db8abq0sO2{U)cpFuLnj@aoY)vfwlv0 z^4K50G1F$0L^@u<;5zYeKpeLQbzhgG;K7Y}d37a>_1{H_(ap?BKyX~E0(;slI(QU??#F%T>ub#vMKw87_r5Xygg zn{yK_sj_*aM1KqaLOqNgnIieds?JCkg-wL&ue#i6dH1s9F!e*GlcvQ_sB9$>5@s)8r*Rn5m&uA3OAH!UU@>`WngP!*MLu+}q<))p?tG*X!_;D-dGsoHFkJkr zRwaF&IaR#Bll^Zb+Lkos{PC*e2qHP@ScDf|q#F|-@t|1C^K>$rn9Up zn*vUv@`rEAk@-sKbRNOpd$A(L#+h*HhpI0lhe{nodESIJDHN@XmJn?)c;T)uQuP!| zpVU#y3?<~30|Y^ZpAWm@y|x$Ag#}_MX^%4mf&xW}HG3K{$Oekn&RM%OKk?12C%_vC zB(?-te2R^H!WQF{AblsZEMM)5d3v{2GDKFFb&CWvuj_JlTs&M9#tDM-UoI6EdHo(zm;IF>vD8Qea5m zekdxMhf9oZhAy>1!E=Y3wYU8*xWa3)h@usEVwq2tav}&^8K5A zV&{gKmrB@XRolZP62E&byI5Y6;ec0*0a2$l-1Doe&n$ZF;3;8|8OgEwI>jbfM6P}B zZ8Xn+I4St|ak5o~m!_qal(p#8WfQ+z z8Xj0&c78m>{)uXrK&UyzHF%NXSnDksI_)w1T`1lq+B=v(x^NU;B8lC|+1^BNLVpSc zznVS;9_Vtb`g$r9`(Bh3-IdfHJL379dCH;H8e)f8^Cd#_Y$FR1-ylfy3zZK4A~MdH zCpi|M35!j!AC;SZfcOt2s8b03mgAB#mzmXdtQ=<0D}eH8i4WkAAMA zvMND#a(Xpi4mdOuBfL)|2pO}rZj0!r5Go0z2ZJye%G;#yJ)1$=*}nU)BqsUCWcvTR zkI$okBY4vEj=FfnYQ$obf@OFs#6#z^^r9PB3p=w!m*OUI!4+XL=#UvAX?Yp{m+q@m zUsg@W$K%&FWdGfoZIa|xrb%e|LO=D}Odh0R*bL2?G%+y(ng9Z^q#8)Oquw9;_?-x^ z%elPB80%XD1N&@+eQ6ky?AhH;p>csP)aJ_@%PcU|Z3q!KTQy+zuIkI`CmDf}00mJv z8fwjldMahy!{R$5MgM3zdB-ggHn=)0TlP+>cznVkQH={(cl-0de;ddU{!Z1gyuQk! zi>aC%MZD$W0|z%}smcx;>s1p{dVOT#R-?=!o$hocN!}3bZ9U|!PWxlxUk;HCm%&pB zCp3{vmrtX*(Z@ou{1m{-Y^3;uS*gs_&dR-r36?5o^0k?d9sd0ghV<)UwpCX~S;|zn z*ZN7TCqYJ-L9se4EAZBMp7xsz@5j}N3mUkUX90UdwXbGn{e;eCy6umDazUQv5&!eF zZzs2vNztj|>h@U{BQ6x~rk$E*QIr!?O;0sIjPGHC z(0$&Mmc1(t7+(%->jW1EgyKg71l63y=h*jpYd6=Ir$hemS1k}IH0Ty z6lE`7!%cfU=wNJD9nM%v6kGp1Ubee+$JV`?CGP73rd^29`>g7y7(Ts?w0yEUl(V}T z2=5RJHv#jpPINcbZ`+o<1F!S=Rh{|&{F%GBP%^!}@XwHb{B;+fe7mVKqpf7K^h2Bd zdTB!2#)g5bNr$b?fk?f~4#Z8`Y=U)h)t*7XiqY*~h`as1L7KF@qIrXRXt&D#6_kMA zb)R$o$Il&$A^vWc2Tj#fP21=&q+r6|o0k7XrYSc6(dmr0sk?XpQ@=GG-v13*lf!tG zIs0{poPJYrlAbaka#V(*b4GD)>=QgFdHC4QO=aW+ z%6)5Y9m3ye7ruMHqFgAFDr#_-VTttm54+B6pM6|S#m^68DR6={>rME9vQMknRD)52b6$83*4|xim4CZ}4v9);m%cK! zb$9NLzs&r#ZHLk#!>2nl5(h!Lf3a`@37zrDO}*p9fy^vpd#H;{p8x5N{oZ^hPLSq_ z2`^A~9q7G$0F8*;iPHGoX8~xZZV7LsRHQqH`bSDJ01iGSmdVl9gjO<)=Kh5P##|5@ z*79cv0^$T}ikR{M<>%8H!F$(QeN3E9dUq_q;mQw|R>q@bYwsL@$YWv@b@-$1_b7ZkQRwtfDnB<~l>$Au4GW89+6W4k0_d7XvX1LS|GZ@dl^xYq2{BBeYaV|MEiFoH zFy4&xJbHEWEMGCcWMqA)Smqz5lVv*MIXf};o(pW4&}Y%kM3=eR`;r-fPg_66n-yMt zGkmL7Cy<5#N|DBa7w5(hX1wm~mf@h~)%ViWJfIIC*4{h!+riKup&;QN3~6#-4az;N znrzlZDZr4PjpQKrv?)6XB7~;eSMD{xEGFyhN(^dkcnYK=iT$7--t6PCASdD;gc%3j zG}k*#&He?znwS(F3_7Sn6|SG925rP{ruo=U+(KMs*JIJ;Z4smcr|AL~D5i56S1{E} zb<6*O;Fr=Bjyo)Prx09pn1kH5yU5oJ5$J6Mz*F{-3GK)jmM2MWZn{H*c z)1A8pH403*nhFkwFdbS{UO1Ng41R!|>`ONd zIzNpUo%I>dm3=Ag0T6oDYp>8dK4LE5lpJB&2^Xg*I=Tb`1sf%=`Hqkh^&Dwmo_2DQ zaf?uw-5Il&_#?}GDb_Bo3^p5D-f7R{E#~_;awJRSj?GtAYc|x)2#G51q=a>SrT~NY z)@{h=AqsBQ0O8J3j#NVIOWWw;(+LO`3)_;SFSuj))Y)yJ zE8PC#Xq^S>Z*!G$Yx~zmAontI_%W!hnzr!QF{YQlB*N=Ci{OHwuH_^qClXHoaLZ(W6N^1u~`8*>Gs{=U> zC#U5%3NVlj17#8;c0@*qkui*dj4g;UMs8?n8m>P@iNDb^9j!2aSLO90f%PYvIfIm6 z-9$yBBXz)#x-4Y<3#j)BIsZ(cmtfy3T=!wCrg*=_in&258vKj8h7`J>jITD_&8hH@ zs#+xpTHP9od`$-^kYiN!2xQ6jN5L_^dD|a@SrRVqzuaJLD(^EGve|1xr$?Kjr(k>= zx-z|keW0n|*)U`b0ofnY=-f|U^Q>Q0Gaf6{u0f|htIVNXZA9nP#?EAZVWH-tP1r9h zn{o5v4(pY<9$3BhBJZGZ?ZJ$j-;B-i@~m>&l2SvYmfm^2grt~>UM1$^EJ)0k9Apn2~@;V$PTu?5^(8I~E#MFNvYSjMuI$EFwW)@Cm}FQ?kYE`dM&FNtdwHAeC8jp|1s~p!K}HE! ztdk_mtms_*J>0G(4%$b}A@~cD|NSq(;8z@!oKVZ<=fX9m<$)Beh()9{{p|H^^4i6@ zpP_vx&+(;PeA09#HkJjs&naazlKo!K!El``baj=MoD{^`1%n}(9n;f4ghLXgE-vhd zg%}cZB<3xx_jw^5QDDtlz!?2+HTKlsLc0YNK=86KT`Pw{s};ui_@CfGGTM$BXI+Vz a?o8(Bq-u5!Hc12-2UH%aDOAXrh5jFafzn_A literal 0 HcmV?d00001 diff --git a/src/en/collectedcurios/res/web_hi_res_512.png b/src/en/collectedcurios/res/web_hi_res_512.png new file mode 100644 index 0000000000000000000000000000000000000000..dd8a674151654937f7012adc3c6ca10a1fa8ee7b GIT binary patch literal 28098 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 literal 0 HcmV?d00001 diff --git a/src/en/collectedcurios/src/eu/kanade/tachiyomi/extension/en/collectedcurios/Collectedcurios.kt b/src/en/collectedcurios/src/eu/kanade/tachiyomi/extension/en/collectedcurios/Collectedcurios.kt new file mode 100644 index 000000000..fac6bf873 --- /dev/null +++ b/src/en/collectedcurios/src/eu/kanade/tachiyomi/extension/en/collectedcurios/Collectedcurios.kt @@ -0,0 +1,153 @@ +package eu.kanade.tachiyomi.extension.en.collectedcurios + +import android.util.Log +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 okhttp3.Request +import okhttp3.Response +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import rx.Observable + +class Collectedcurios : ParsedHttpSource() { + + override val name = "Collected Curios" + + override val baseUrl = "https://www.collectedcurios.com" + + override val lang = "en" + + override val supportsLatest = false + + override fun fetchPopularManga(page: Int): Observable { + return Observable.just( + MangasPage( + arrayListOf( + SManga.create().apply { + title = "Sequential Art" + artist = "Jolly Jack aka Phillip M Jackson" + author = "Jolly Jack aka Phillip M Jackson" + status = SManga.ONGOING + url = "/sequentialart.php" + description = "Sequential Art webcomic." + thumbnail_url = "https://www.collectedcurios.com/images/CC_2011_Sequential_Art_Button.jpg" + }, + + SManga.create().apply { + title = "Battle Bunnies" + artist = "Jolly Jack aka Phillip M Jackson" + author = "Jolly Jack aka Phillip M Jackson" + status = SManga.ONGOING + url = "/battlebunnies.php" + description = "Battle Bunnies webcomic." + thumbnail_url = "https://www.collectedcurios.com/images/CC_2011_Battle_Bunnies_Button.jpg" + }, + + /* + SManga.create().apply { + title = "Spider and Scorpion" + artist = "Jolly Jack aka Phillip M Jackson" + author = "Jolly Jack aka Phillip M Jackson" + status = SManga.ONGOING + url = "/spiderandscorpion.php" + description = "Spider and Scorpion webcomic." + thumbnail_url = "https://www.collectedcurios.com/images/CC_2011_Spider_And_Scorpion_Button.jpg" + }, + */ + ), + false, + ), + ) + } + + override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable { + return fetchPopularManga(1) + } + + override fun fetchMangaDetails(manga: SManga): Observable { + return Observable.just(manga) + } + + override fun chapterListParse(response: Response): List { + val responseJs = response.asJsoup() + + val chapters = + if (responseJs.selectFirst("img[title=Last]") == null) { + responseJs.selectFirst("input[title=Jump to number]") + ?.attr("value")?.toInt() + } else { + responseJs.selectFirst("img[title=Last]")?.parent() + ?.attr("href")?.substringAfter("=")?.toInt() + } + + var chapterList = mutableListOf() + + for (i in chapters?.downTo(1)!!) { + chapterList.add( + SChapter.create().apply { + url = "${response.request.url}?s=$i" + name = "Chapter - $i" + chapter_number = i.toFloat() + date_upload = 0L + }, + ) + } + return chapterList + } + + override fun chapterListSelector() = throw Exception("Not used") + + override fun chapterFromElement(element: Element) = SChapter.create().apply { + name = element.selectFirst(".w3-round")?.attr("value") ?: "Chapter" + } + + override fun pageListParse(document: Document): List = throw Exception("Not used") + + override fun fetchPageList(chapter: SChapter) = Observable.just(listOf(Page(0, chapter.url)))!! + + override fun imageUrlParse(response: Response): String { + val url = response.request.url.toString() + val document = response.asJsoup() + + return when { + url.contains("sequentialart") -> + document.selectFirst(".w3-image")!!.absUrl("src") + url.contains("battlebunnies") || url.contains("spiderandscorpion") -> + document.selectFirst("#strip")!!.absUrl("src") + else -> throw Exception("Could not find the image") + } + } + + override fun imageUrlParse(document: Document) = throw Exception("Not used") + + override fun popularMangaSelector(): String = throw Exception("Not used") + + override fun searchMangaFromElement(element: Element): SManga = throw Exception("Not used") + + override fun searchMangaNextPageSelector(): String? = throw Exception("Not used") + + override fun searchMangaSelector(): String = throw Exception("Not used") + + override fun popularMangaRequest(page: Int): Request = throw Exception("Not used") + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request = throw Exception("Not used") + + override fun popularMangaNextPageSelector(): String? = throw Exception("Not used") + + override fun popularMangaFromElement(element: Element): SManga = throw Exception("Not used") + + override fun mangaDetailsParse(document: Document): SManga = throw Exception("Not used") + + override fun latestUpdatesNextPageSelector(): String? = throw Exception("Not used") + + override fun latestUpdatesFromElement(element: Element): SManga = throw Exception("Not used") + + override fun latestUpdatesRequest(page: Int): Request = throw Exception("Not used") + + override fun latestUpdatesSelector(): String = throw Exception("Not used") +}