From b8fc6e7e2bd498143741ff3f7527dfd06ebbce9c Mon Sep 17 00:00:00 2001 From: Fioren <102145692+FiorenMas@users.noreply.github.com> Date: Fri, 6 Dec 2024 03:49:12 +0700 Subject: [PATCH] add DocTruyen3Q (#6439) * added DocTruyen3Q * Update src/vi/doctruyen3q/src/eu/kanade/tachiyomi/extension/vi/doctruyen3q/DocTruyen3Q.kt Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> * Fix space + avoid non null * avoid non null * update --------- Co-authored-by: AwkwardPeak7 <48650614+AwkwardPeak7@users.noreply.github.com> --- src/vi/doctruyen3q/build.gradle | 10 ++ .../res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4611 bytes .../res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2559 bytes .../res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 6494 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 11896 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 17901 bytes .../extension/vi/doctruyen3q/DocTruyen3Q.kt | 88 ++++++++++++++++++ 7 files changed, 98 insertions(+) create mode 100644 src/vi/doctruyen3q/build.gradle create mode 100644 src/vi/doctruyen3q/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/vi/doctruyen3q/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/vi/doctruyen3q/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/vi/doctruyen3q/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/vi/doctruyen3q/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/vi/doctruyen3q/src/eu/kanade/tachiyomi/extension/vi/doctruyen3q/DocTruyen3Q.kt diff --git a/src/vi/doctruyen3q/build.gradle b/src/vi/doctruyen3q/build.gradle new file mode 100644 index 00000000000..8da11d9bc56 --- /dev/null +++ b/src/vi/doctruyen3q/build.gradle @@ -0,0 +1,10 @@ +ext { + extName = 'DocTruyen3Q' + extClass = '.DocTruyen3Q' + themePkg = 'wpcomics' + baseUrl = 'https://doctruyen3qk.pro' + overrideVersionCode = 0 + isNsfw = true +} + +apply from: "$rootDir/common.gradle" diff --git a/src/vi/doctruyen3q/res/mipmap-hdpi/ic_launcher.png b/src/vi/doctruyen3q/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..5c77884669224553bd1b312c9f927d6a5cf9522b GIT binary patch literal 4611 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 literal 0 HcmV?d00001 diff --git a/src/vi/doctruyen3q/res/mipmap-mdpi/ic_launcher.png b/src/vi/doctruyen3q/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8c2ed7463892b42a16ce2ab45fe59b232d72527d GIT binary patch literal 2559 zcmV|wqP)I7^$kjF)64) zii%VU0;Q!bV5k7M)D=wwC4@jARrwJV6QF=;i2)18hTzBgu`{>l+?m;#ot?GEEfqrQ zzbw~+}~C3i}X<2a$#ELGRked7mU}KUJSMSO#tA1pYx7ZIe6#bAKqO_7WBA5_yNd> z?tb!yhOVK`%_PS9c{Prqet`6Ar`R?7&}HauczJg|9k#hW>IJ~(S;pRBpF!#nUTMUX z^8gG>3e<-Mz9gg+uNpaY)Y2OO4%%#^de|LlL@fZ0gh-F{kK@T!Rxh%#q$kNG!myvC z6KOz_XO!oZcimER%QewS+N(w`J<&{i%m^<7CV+jpcN7D$1Y~v=&7KHZ^aE&uAB&+d z54`Nyx5*LGAlBQPAX_g&HhqLp=S>JbO8xXNPQ)@j7y!9H_l|@Oz0Prk zNdWY3{0e$h$Jw)IVHhqsxjAvAS?(hvBLg`(ImpY)!+_LO)t|vq>bVbbaVv0XD>S{0 zK)9uqC@1ksPyh#V2mpJ8vw%w~Bj!M#whNsdoftcIEZW=K$rcNo=hwvT+|x7-nVFfG zJb5w}En0-q(o&?QrKxz3Ep@<|R}gBw0UKvSllZd+DkzJ{2@yLaALp= zD49n9ro;nq(xej$xw*M2>+sgu*@>GsZz2+jsI27|^tPOi965rSGiJbO`vl?RQ%Ss%!>@?~Gf-!6k(l8s`(b0jLni_1}xDgEv z4M~AapFSPOjvZC)jMJqEHN8v6#DbO0#EU@z{4vWK2OI{O0pp1>VDfJjfTE(Jq(N*0 zpcdpd0%4FGrG~3luHxBQ&!VY`G7fXJj zcKi12C@(LE-tqzD$r6NBGO;A|0)hpxJd)`d2h14I^X32(nSoA>9z8l~5Hka>RaL@h zzlQL;6JhXx{?wb$@|WY*?M9UVbX`vX!O~&l8H5qJ4IC|mrsBW?Fh3vz^3OvF00(jW zrT|QE0Js@&OF~JA7%KO-=V4)A23o&swI!HpyK(di|?b@{pfNZ^j(5dmte|kn~Fg0l8P!^i7Ck7x{5VM3fY^X8;oFM>ODy84!5QE3##EJJ*A?F?w zyz<+;c{9oH8jZ-~s4j9U0NbKI*g)ezPj>@C z*M9~Ob6R!@mEln=S+WF&4qO#kl z-vC_sDNS}90AhAP0P?RaAugvqS%?7OscH)1c3%c;7FMrbjmpYO<*0%gYBH}mYKJP;>pdqbLZ3;AzM!)d~OzLDn6Bq=Yj$_@fb-cak{8ylY|HWYk$2B`ynoutL!5@Gb-^+Kn9HW8Gug=WHErf1R#R^{QO?$ z1KuF@g5q;Fo-@|^%5?}43!>v=;QVtm!EdFziSHLBK>?f^WX%UGGwkKPOq&4{K(bPz zHwO3~OJ?fSso;D+Wy%yDVQ6{f6NtJ62zA{c&%4=oWF%$=1@J+dv#{kVNOfXBevujI zP+6$8l|5x{?x6IZv%y1#3{jwG&YY=MB_>Upq=4vDGT?44{aW(1HOp*QFq6V#uM_XuR?nClA1#8ov5Ef3g z*;jw!n*jkBXH(5(6;m9se)Y63(c1O=_yyj$w|drLtmaa-L+fe)A{S}DMqNgfP+}`_ zeOYeZ*8&6hTdElY9tL!S*F?ED?-=b~!HWkicnMK8VTX{}0oGIf@Ngc{rUhdltMg3i z)d3-6NZeAox7WDOO!iGL13rud^tSggs=_}XI0Hp=oxcwxU0!GZ48By8vaNWe@v=)j zR)3a333mPO47Y(?{uippEy4;q=kH{(7y1!8a9klq?*B>XjW0ZbZ-qlhH$x$rHy@mr z{m6+LvhBug9DQj$esr-OpVBj(?&tgfaP2#YcK$l~80{%OqW=$t(C=pK9j>Q&UU`pp zPFZn9TC$Mh>uh+K_J{ecm;tcC41&K-CeR%;Cj@=2-!AT>L7)13ScW|?ppQI&e*<(p VFN>MfeNg}a002ovPDHLkV1k2{qw4?w literal 0 HcmV?d00001 diff --git a/src/vi/doctruyen3q/res/mipmap-xhdpi/ic_launcher.png b/src/vi/doctruyen3q/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..44c737fdba4ee07f5779065aac7b83bdf5b01f50 GIT binary patch literal 6494 zcmV-k8KLHhP)!Nkly2h#MA-*HB`V9HBDf|h>bM|+Is&f2nb8vylan~a=y+m`N15f!I36Vl zGK?}VxFo2k3^;074H!@f42lbjfC3^*)7@{W%J+gej9Q z`}hB^`wVH{+LQuDn_j*B;?fR48#6&W0PO&@F$LQA^6e7P4nP}Ipp7rzE&<&>bt40KuUW(lb{KQuyMnKaj}7}=d>t=C7XMxJS)Cd(uO@T$9^3GD zP0lFaSd;DW+|rFT&s_GhJvOb}(s}ZkKiTjR_T*e?2$h6504U-=c>Um` z|8{)E!t&gnlL|+SxZxJvqz{L-XuJ}EFSu5``^=X2`e5cF^OC!t+3`gj5TXFkdcI=I zf1Lc+11fhvVB2}4@uVnji@}jm1T9t(VaIJCYM?<%oA{eG#VwU$c#+IT031%|H5}p*3|>oLkIsXD2`n6w z2N+}z3x>FC?*=hG{F%t+g_47YELTBmh-z(n0H}hr1QgG;$Ovl*7z7D`o+f684jq!m z9(zn`YHFHLUlT6~may+DD=VdA$Bxpydw1#8tC#fa*H4Z*>L}^iv!|rfX>dQJg!94N z`4|6Lumd^R4q;Mv*9#)+elBJE*9%RGW{)Njf13g@zxP&Ak#Lk3;E>RU=V6`#6*Oof zRFI?h_w3mtXP$YceEH>rRi2=10n#3L;N64FTQqM^`y@u_jm2uRqnd$F1hZy>!hlR=`K{AAUS%=Zl5o* z`VL7QJ_v9!%7gNtQ8b07YB_lcc%he)0Oj2@0idZm3X^~@zF@Jaa7zl1IO7li9!G-H zCe5BbTN!PycVh+g9pUg^bk@>Ua60c6_N+wMXDg`e@-mi z0IT#kjqrD8!wYf(F%zHZ1r-Ajhhv)yNSv|tF|-Hs=g*gsBS$(x9c(lsYV+_evEKPB z$$q&|D)ZH1rD2>4?4S=AH11REgi{f;0a1m1Zy-hhMuh_qhd|9GejJI>0UQl6i9Tr1 zAbIJfmy|@LP<68C85w!Wf3;HN?MX;E9RMgfFjI&YZl0V-+Iq#Wie5lR9= z07#PfaflstjEchv7NkuNKA?*WJykuR z(EkrnMa(*kcpNHdf=UB;RZv_b>?NA^={2`%Wvz2Q#_wEK}h${^QR!7d{e0oKfUV14KJBW^RC@`h#CH2k^#NPRWq%u%L70j}_ z(om$0jLEG5fGWr^x8f2%!X3?yL}IJo6)L^28Y;%~zTd-gO>=)`8DwU4$w=a~sHCIa&G@MlikBEf#$rBlq zlC}Yq00jWuu&9EHnw4Zn&S?U`xN+kYrxtHffW!enb2=p?lgY^4ci%0KKKiIi$oUaJ z3=o1`U0p4!SFe_1j~(phnQ-6rha~fdVUn&#MiT zXF*Cq8mf)8YuC#7@#B>$(ypr3^I=k`-CL%wpMCb(2DPW2z}PTD@*n;ZbD#wHcUTyc z5(dD2*&_js>>eNr&h97x;u4=@F^#-@`EuBR{^0k#q%&#B?p`4FyVC@n`3N=2#5(3; zk>QU>S-LAE0|u4uBY?m5+G~|t$-lihpfG9B@dlH0+qP|MH2k<$_VXvjTzwmekDjXn zi5A;3(1tyEv*<^f=0(nk1I0ASQRZ9xT@!2orHnPrAQE~!2faRSr<=0+975@Bc-z0{%+Ua?|@GQz4e!&O14cPBR-M#Gzj7+5F#i=+mloam|tM#<-#bB?T8v!?M_ zpCB>_kcS_BSZ=%RHgzr^&@$0!CyS5AJ$->d%qKfc{<}PBBdh@Mc1090Q{xBEjb(;6 z1%L@IKO5l3^$k$Ek#H0Mzyu-yE0~VdyzYh#8$2y3g%Vs$e4Qobe)clm za?34^0OY{=i%$R=d%ht61f(S50uVoC8x;FgdK}4l)&P2 zwijeSmZBk^GiQ!WojO&0%^a(lL!M~~0Lbkxs*W{|&;X6ChUiA> zly#IFs^>)F6EM257hQCbb60F#IkZVqt4>8bd^#ID^%&pZ2AG#54nP+-7Ze6SVXZWGA|;>@fH7mn z1loWgf^a{L@XD1dl@TtGfVGWAI9rAE%g7fc)#(JMjReM@#GE{NvMgMF?m1P>#~**JT+o9D z;kkIWIK-#)j2=B&R;^mqcqYcpeeyH0HvXfe(NWC@Li{%Kdr5mii@N~;JcWXrFX)-{ zy}To;^#GtO0)QyO>){&!Kq`V+&I&PKnc(Q1W~Zy%o&|HmV-x)3G{U1vn9TMrFI3Rfdx&Q#i0eYzd9}tS%(F|=s@5!pOfHcx7C@2{h zW&_yENmbxf#Q6LZT`M{T=!6ClQt6aRlhepjbu3!6NJX#v_wNt%{q-IA<$^fIamO8} zT;DETIwIahw>4@FcI_I;t+`0jb@h@<)k;}Fm$-3J(h{(wv-^k=yAKLE-CqWg0vPri zF#$lzt+mn}3^T%EE-4?jU_oZ!z<~utd2eEkTu+0^A_~(7d=Mn88WtuIR6%#%d8aCE zs?H!LAZdHH-6O{4Ur8#D2ma8vLU-6#1zp%`03f9sLj&=kxB$daMU(($CHwZJu5WzA zi3BF0-+S*p^*vqAy?ggIw5scfwm1VCrH=T-&AN5#l*F-roduq({S`W<&zG`8?<*s3 zr1*eeKq{hD08ke&ygT}P9qJIIqop3P@xjwok)BD!cM&Yg-aiK>-~fy}7Cu3joY`cp2_F^I`T#^rfu960sw}l2 z6J|VHDh+gLZ@TFwnK^SN0V#_1bRqy*m>B1!d3`hb(FjW zEbWX)7+n#J`Xe=w=MSz_8w!{^0^8C8!@BYMh;PAhxWd z1AwvtF{Xn9vqPT*09Q5uKpVi$I6nZItB$;B2R=nZz0SlPALJmhxkv|}cHwu5Fz#X= zT9Wd}=UX6f`rz-eM#SG^A*XFBrLESDh;f@ixEN=(DF9@74FD=)Ok5#=V}XR-%Efir z5}B*ua1xXpO#-u@pGmaNoja>Xi7yv#kV_9`5oM6eB+D}Ceu7F$lx>z;Kun#GfJSu6h#T7aK znr@6c3_T=y09I5t7~yc+E{%sNxJDCtN9o-#npIjRjx;x8;%4F!u(E^Gmg4Hu#yR=x zNfO<{Qk6M~epw2UrRD7)i=$f|-5tESU*aJQ`nb+h{8j3CF=sIica76#5HE>S%yCJp zpjFkb3Ub%Yjd0N{xDxazm{T#b;C|hz9A(%PU84Z<8hh$@7+ba_vQi1QX2O=!YaN-3 z2aj=j!fvSbPW4s;Vjf8wcYgFYR3Ryi6$(`#6M9BE|am`XGTH^8b z8L6o}ThKn8%*o)M?={-D^h_0?^ExZ!yv1sHqaEmf+z#_nPnZxx~7}1%Qw0 zH+%JT{Rjzz$tJBocy98lvNlORP)7>Zr>$wJny#LFL4?h zQd{&38dR`c_PpbTr=Z=fF6}lt8UkIP|lfvgy_b%cd+^ zmE{wG`Zr_(qrIqf6TfGx0PR4hY2TA!_ui74HRu@m4mtsY&y9zW=l0_eHqJ4vK+%{( z=8(kz@jw0N+47@#ugXT3`}yk`E&3HD?afgN_(KkzE*_g6_@k@rsYCi3=XUBK{Zgjw zEV^0p_RS_}+}lAMSbMP6-u}^6WXbEt09|{Of_*iMy zxDuc*sEO@WJEe}1G#9q@cwSYcADfSD;95dF@3}1*r>zOtlIwd39h>Oh3;wARt|dfI z^xSp;5+!HpgS7)tI?WP2qaA=m$yxef?EsWcvqaDMe*rDIQGN~$Z~y=R07*qoM6N<$ Eg6PC0umAu6 literal 0 HcmV?d00001 diff --git a/src/vi/doctruyen3q/res/mipmap-xxhdpi/ic_launcher.png b/src/vi/doctruyen3q/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a3ebe1decfd3f9b244e4a510510c17d246ee0265 GIT binary patch literal 11896 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 literal 0 HcmV?d00001 diff --git a/src/vi/doctruyen3q/src/eu/kanade/tachiyomi/extension/vi/doctruyen3q/DocTruyen3Q.kt b/src/vi/doctruyen3q/src/eu/kanade/tachiyomi/extension/vi/doctruyen3q/DocTruyen3Q.kt new file mode 100644 index 00000000000..99280d75838 --- /dev/null +++ b/src/vi/doctruyen3q/src/eu/kanade/tachiyomi/extension/vi/doctruyen3q/DocTruyen3Q.kt @@ -0,0 +1,88 @@ +package eu.kanade.tachiyomi.extension.vi.doctruyen3q + +import eu.kanade.tachiyomi.multisrc.wpcomics.WPComics +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.network.interceptor.rateLimit +import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SChapter +import eu.kanade.tachiyomi.source.model.SManga +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.Request +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import java.text.SimpleDateFormat +import java.util.Locale +import java.util.TimeZone + +class DocTruyen3Q : WPComics( + "DocTruyen3Q", + "https://doctruyen3qk.pro", + "vi", + dateFormat = SimpleDateFormat("dd-MM-yyyy", Locale.ROOT).apply { + timeZone = TimeZone.getTimeZone("Asia/Ho_Chi_Minh") + }, + gmtOffset = null, +) { + override val client = super.client.newBuilder() + .rateLimit(3) + .build() + + override fun pageListParse(document: Document): List { + return document.select(".page-chapter a img, .page-chapter img").mapIndexed { index, element -> + val img = element.attr("abs:src").takeIf { it.isNotBlank() } ?: element.attr("abs:data-original") + Page(index, imageUrl = img) + }.distinctBy { it.imageUrl } + } + + override fun popularMangaSelector() = "div.item-manga div.item" + + override fun popularMangaFromElement(element: Element) = SManga.create().apply { + element.selectFirst("h3 a")?.let { + title = it.text() + setUrlWithoutDomain(it.attr("abs:href")) + } + thumbnail_url = element.selectFirst("img")?.attr("abs:src") + } + + override fun searchMangaSelector() = popularMangaSelector() + + override fun searchMangaFromElement(element: Element) = popularMangaFromElement(element) + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + val url = "$baseUrl/$searchPath".toHttpUrl().newBuilder() + + filters.forEach { filter -> + when (filter) { + is GenreFilter -> filter.toUriPart()?.let { url.addPathSegment(it) } + is StatusFilter -> filter.toUriPart()?.let { url.addQueryParameter("status", it) } + else -> {} + } + } + + when { + query.isNotBlank() -> url.addQueryParameter(queryParam, query) + else -> url.addQueryParameter("page", page.toString()) + } + + return GET(url.toString(), headers) + } + + override fun mangaDetailsParse(document: Document) = SManga.create().apply { + title = document.selectFirst("h1.title-manga")!!.text() + description = document.selectFirst("p.detail-summary")?.text() + status = document.selectFirst("li.status p.detail-info span")?.text().toStatus() + genre = document.select("li.category p.detail-info a")?.joinToString { it.text() } + thumbnail_url = document.selectFirst("img.image-comic")?.attr("abs:src") + } + + override fun chapterListSelector() = "div.list-chapter li.row:not(.heading):not([style])" + + override fun chapterFromElement(element: Element): SChapter { + return super.chapterFromElement(element).apply { + date_upload = element.selectFirst(".chapters + div")?.text().toDate() + } + } + + override val genresSelector = ".categories-detail ul.nav li:not(.active) a" +}