From 4fce627ae1b56bc5e60bc5506077208d3d1e9411 Mon Sep 17 00:00:00 2001 From: Eugene <35057681+e-shl@users.noreply.github.com> Date: Wed, 3 Jun 2020 16:23:09 +0500 Subject: [PATCH] Add Remanga source (#3363) * The start Remanga * Remanga page list and branches * Remove paid chapters from list * Fix "chapterName" and add "Headers" * Remanga: chapter name with dot. Correct html description * Remanga: Fix chapters with float chapter name * Remanga: Parse type of manga * Filters Co-authored-by: pavkazzz --- src/ru/remanga/build.gradle | 12 + .../remanga/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4003 bytes .../remanga/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2151 bytes .../remanga/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 5095 bytes .../remanga/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 9492 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 12716 bytes src/ru/remanga/res/web_hi_res_512.png | Bin 0 -> 71373 bytes .../tachiyomi/extension/ru/remanga/Remanga.kt | 306 ++++++++++++++++++ .../tachiyomi/extension/ru/remanga/dto/Dto.kt | 78 +++++ 9 files changed, 396 insertions(+) create mode 100644 src/ru/remanga/build.gradle create mode 100644 src/ru/remanga/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/ru/remanga/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/ru/remanga/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/ru/remanga/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/ru/remanga/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/ru/remanga/res/web_hi_res_512.png create mode 100644 src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/Remanga.kt create mode 100644 src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/dto/Dto.kt diff --git a/src/ru/remanga/build.gradle b/src/ru/remanga/build.gradle new file mode 100644 index 000000000..7b7de15be --- /dev/null +++ b/src/ru/remanga/build.gradle @@ -0,0 +1,12 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +ext { + appName = 'Tachiyomi: Remanga' + pkgNameSuffix = 'ru.remanga' + extClass = '.Remanga' + extVersionCode = 1 + libVersion = '1.2' +} + +apply from: "$rootDir/common.gradle" diff --git a/src/ru/remanga/res/mipmap-hdpi/ic_launcher.png b/src/ru/remanga/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..c3d066c2fc7d7ed1abde159aabe8e49538b08332 GIT binary patch literal 4003 zcmXX}2RzjO|35O%IC0KplX1y7LR7+qj>L6F2ptj0IAoUWy}vS(EkxNNvd&p2k{=SX zv$9vR{_h@-|Kst#@p(TUpZ9paU(fN5#Od8;fpSA35D1GlRs#=yvHv~{bl}@)t@<_u z0&~#TP&f3>T+4j!n6xn7wNd+Y)OpqF4yDuPqTDnmi7gY$Ab2r40!!rRR?|J!JkRHk zj>8BGtN+I}BhI}kaF3ny0tUxHpgAx@ON1r37T3!npH2Fj4TLW)FZ=v>>F?jYQ&70J z^bzs!XX@pK)9)#^13SwH&Fibgsf+W8Dpj}lyZOg19-R?dyIn*`_M3ddB%B(Aq8-w=pJ#+s2;CYK7f^2=Sbof&eoABqO{tK@I z*o3Q1B+vTWZV7S63bRMHZXA#tYTF5DwerzhMMLVKm5-7L=vL6Vad446a`S7I6C!$H zDunIAg;_ZccFg?a>chFjn`%uuCMltV_8Jc!@UZeK1?;VkKH8ckr(LmQb$I$z*0vX} zn=VINTU(o^@>~%iWfqc>g7`hvB2c9FCTP%}hEl}{nd!Or z#!O*W-nO<>3A2IJv+%i{L*n7KZPVee*GL5iI2=kl@20%Lo7o28L?E`MlXZlWb#ig2 z%^y$8XTBBQ**tu4(d;FR7bl50M?%+ou5l|m{RmlEaX`VN&XXePMZgP*SoGsQWKB)Y zbZ_!y0`jp*0zXnvPl1^Qd*cGK^g&Ye33?H3|_m6S5M5D4q-`JO*B;R3DbzJ%dj zH3->SRzvu_(i^?sW7YH$$x-x4&;*@AjE9H9v|+xq7@(x2_?qSQRTnKEA0IQN zc$Ix5LdG%%rh3fg?vn8y0jJb3e8cw20 zrO?)me`%yF1Wh`JldS{wih{NB)h#S0{iq_z*5Ig`cKWX~&`@7c@4X<%8aJ>=isQSE z!{h&>xt)v4`Sgiq69@wf8+HgCU!&8!$3Pd%5KbZ>=_Dzj@I{m+=!DofiB8v5dhrJ> zAtABOgcV^|e{VduTHd0CM)Jzv2OCJSbv@d5>dRE-&?%H-{MzKRlQU>fkV~I_cFhO9 z#c25=<%{}Efa}yFBwe5yL^_qp_cK2W3(J$4j&tmh8r~}^Q_^ygZBSy^d{!mQd+IXFKu@oHIwz`KYAI&c-``x@U1L;|CtEsEI$je$} z?qEvWQ4*eql9!hkahekq75)DC`BiXW<-8y2b?bEbSn2=g;DN^%<4dNAN`Iyn4Q;B& zHs_P{9~WdDAHQG-#Ymb|2s*X)a|=2vhmfo?Rh}c_RZqR~)Jp!RFOClvvx(Q<1h+@t z&ub$DU~;k4BB_+Ysi^_~ZE!x|_-BYYZ{LbtRN~FKm#>xk{=HOTR23A(9vSfV$-fE) zv|uFmQYc%?McLK_0!039QS!4Jg3e=-51TV(qzdqtpiE4a)?}#n4gL^JE{&RJBj2OW zm>v@qOfDNOE$#P@PCWJ*diZ8HQ{>(;e*Bafu%ksgZkuJU~n1D`GMExuk z%pM4ji({2nP*5+#gO*!T!pO(R2V_GV`gbl~RWK2YZ`Y>BqTqQSKCt@v`DtG_8-ciH z{{f09YtQM7^s9k%pQoMcN``SLiVd8yAjC z+C1&+w1l*D=R2cPz?v)2{t^f|{^jhdY{uKck&&>@&d!h~@uYfpnVhDk8-1^@!Ys?V zW{66S0rkk~EpOcY`>8bcbDgn_54Lfw9b84sq}J8F*_Gi^aA-1{-|om*?Jf;InPJvc z0aBPI`-pDB*{j|CF$)d_59*q0n`m%PGArP@>Krn<`UT0xHAF{8NBq0{q|B@qYEYyX ziZ9VcY0y(r!rx`l(=CN^Sz@^3Fh} zgB1zFp+fwQ_H!#L(4uMP?Lr}HK-p%=(G8T~dfiWrjXWM69@=Y>85!KW`}<z`mQ)W($Zi)2SmFNFKJd2p_<2@Ekqxzo_XC% zdch4Zk-W6B5=6G1i8hKR2YvV;-Mz4F1#H?7j}ICd8F|&?IC7*8*K8x8bDEoPKKWs4 zZXOd%4-+%o1+D?qnLAd@wk)y7W@&jjkg`AxxM%AR#2L=X8H;2UqH+J#r~dGv04l22 zLKSstYaz|`&;3F%i3t>742DKV>iL74@1fG37A-IN@FnskgVKoTN{?0J?`xhfBkb$O zD{Uz$Wvz)=kw5$6E*uWzOh{C`IH0yzQlyLOM5FEK$jHCCJtm-m#yQklgFJZ2>)p3+ z_%hRKI-n~{OG|3*?pJhlbhMbm*@D1mZT9kF&&21X#0^;VGy#)Z3$&B|qb}DFZUe43 zI6NGRLv?tu9IQ_=l^A9WB3`zLpgEN0y5hTBT24A)=iROiV+)0=$6|o^A|;X~Ea_P+m8CZKK8RwoaDb!NO3=2+FMJ{wd{nrQ_#Q~7Ke z5AZF_^wbeymo%-S0W-gO^X7ZC9SjKg#)JDTcBUXT0H4VzDxzl%pKG@0&*bx;@$CWY zbFP~MaG5l?iAF_78+0PqJIGbGl+D500#>6REQ-s^Z)!)X-E2*pFI@(_&0R(V3T!LJu4fj*IK%lNTBcssI z&kry~Lv4?%ZJEUv1Muoq<7-Q+t0Vw=1hBDJDJiVV{Wjb#AdRL-ng#(y0fC$3To;^I z95Zu+O>HZoUML5|sWC?_5R1$nJlHzk8Mq~p{Fr(1<-7Bd8fjNu_*n&R#CM;WNUrat-P!z2q_ZIxzyO{Q9aV^4vT;mClpbUTpV>D|xN+`uh5MqbDM+ z!J(q&ZWp3X^1T#h)qQU8gAl{a%-jmD8bw37)zutaGL{{OJBx!qf5u(0>z@Wu$lk@J z3-q{d&1ydL^!x`W0Zjnj&KiD>Ki;l`pasRMF(i6e#7On5qJkma zKgP$;$W>)_-}M9LkF1$Vg1oFd;hgpvAT)y7Vbr?^x6k+myV4=R(?8-T8)o%laUlDl zW|(WP9$3!Jg9&$z^@)a^)rhQF{yQEffmUg+UT#>0IZi44URyiKudH-s7b+kY2W&G4 zSz{s`PLB_-eERfB`m6lfBcxcb$}aZA5(&JnZK$oceJYlYnrfvpmWPXnhsTZsW9T*I zf%P(GJbZo^!H((8_W70mB-{V=@W=lC{yEjN;~g$o_1W%_{t=AtT8$OB4Gpkiv^X$P z-3;sf?g@q=2|5_8f{=}{(0mI&KHK|%Phz9l;JlECe?3u&BcVmq1bZ5{9~C~a;5DVG uTlGiv#%cNSBaVJr8>H;w|KD+IPUzuZg_*cvzrw-g8=|eLr||(p2>L&WgNcd& literal 0 HcmV?d00001 diff --git a/src/ru/remanga/res/mipmap-mdpi/ic_launcher.png b/src/ru/remanga/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ff1c36b9cfe60e160cafaf2ec081f0d866a83549 GIT binary patch literal 2151 zcmV-t2$=VYP)NLW$Z#q9EoYv4EODT$>;SU0~vk=*C22OiT!zCb>0GeP#XtkGNN@v>P`trlfWcsZUayBK|oVe6D$_XD)Ba(4abikhr{7OZ*MPN zy?TWgFJ7RdqXS2e9z|AGRt!L9W+pN-GojPz(Ad}rK@ir2*c5;wzM-K3X0tg){O;Ym z;cz%GH8lmN(+RiR4WG{kilRVK6g(ae78VxJ-QA6Xf&w-A3P46i1~M`-aQX7(H6c<4 zh(@CjMG-A6EivLvCKFDdK8?xANx0o^`2BtagF$c{2cG9u=Qs`w!@%qH;`#IEuvjc{ z0n*dc;cz%0ieg-dlmR43!n=3xke8RI3OAe0Xl!i6;^HFwem}zDFa$w>BuS8E8L})x zk|fndQA9W#hS%%GwQJYnice2ZhhDG8z`y_`N%}bevMeJU4x^%?A|`Db8XEBR>sK%g z1D@w0%d#3ZS(ee?-;dJLQk0gK;@PujDo8LG#QXQ}q1Wr<0&Ll`1$Mg~p-^bmDWn7- ziXt9AejFqI(4j+ETwDapva60;mSu!OArur8sGY}Vvmq1;L6&9kJP)7GhaEe1#1*f2 zXJ_ZCXD1CH%Q85QLuF;9+G#8n3*Nqci$EX{x8Nj60!`D%&CONYW^QgSmX?+vNfHD> zfZy+j&1Opopw((oT3QN@<6>q+(g2bqVPs@P6`zxngA*rCfTAcwB9XX-CP@-lmPKo8 zE38&4tX3;pTU)`htP1eu%NH07hJ?}AYPHa6wHO*2im8R90HV<-c%Daldwa})>gnlG z#l$n^)RvZ(FgG`cxw$z|6s1O!=XtcYwyqg{tyYV)v^3nkdlx*xxfHOG8~Rmzw#s$(aPT+KYm16Sy_zuwE)V?%MlC))jCKDK*{C3d-tk)O?7oO z7=}rhKFY}{f<;k8AP~UN&=79kyos$_w{9qP($dnP(P&UuSQztrNdqtpqXHO>MpRc< zubcmVzaMw*+(Bh!CCp~?s)4m$;r<8^2n03C&Z5i(d&q2tiX*Q|d*mw9z+j-o#u)&YU?D)7oTN#`5wq ztX6A`_#;P-U|?VX0|Nu7t*uQcK3?<*As~d{_3PKEw^3z~Q4|Hc-L3*;XJ=z-YD&F9 zNs@$_nVFcV>-Bm}OiaM-cEjy-8c(KR+hl4<9~^@$qqtkB_6Oswye*g@uK1I-Q$e<^ZU}sJFKl z27@8y9^2mD4vyonyu6Hy7ca&XYNA%To_MWRi=LhyEH5u_ew|)<3O=6?SFc`O)m<)J zxPWipzF~TL8oPGwS|xnFZnIK6Ap}>hT!Gi?jk|B91fbMHFc^f(UD&&Qpr`T6;%tEjMkIBhNba!{7t*s5s&CO_TZbn;M8@jr>FgZDi z`T2Rc-EPn{jZi2AK@fiG%Uum2BsUU?_&4%E29!-o%l5<*O5oevy@5TYw8D%w3fJp3n3(=5X^KwMAdSu{F8$V*kbd2O;Digb*W1;&ZEp{O>!h{`)`vO4onavTo}9 dw%?Y5{RPU<6oF)9+9v=2002ovPDHLkV1ln}*=+y- literal 0 HcmV?d00001 diff --git a/src/ru/remanga/res/mipmap-xhdpi/ic_launcher.png b/src/ru/remanga/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..f47cbf3248fb06edf39957adad74a8a7c0d52e5e GIT binary patch literal 5095 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 Wr=8jZ*1-!r61_VHTIHJdk^cia%(Ptq literal 0 HcmV?d00001 diff --git a/src/ru/remanga/res/mipmap-xxhdpi/ic_launcher.png b/src/ru/remanga/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..8b2ac8c37c7d01fbf067471360967e9ce2bfbad2 GIT binary patch literal 9492 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 bazvxOJb-`9DKrj$g@HJ)XRKR}bqN1ISKV5! literal 0 HcmV?d00001 diff --git a/src/ru/remanga/res/web_hi_res_512.png b/src/ru/remanga/res/web_hi_res_512.png new file mode 100644 index 0000000000000000000000000000000000000000..205c899cf7018977140517dab667031ac88ebbe1 GIT binary patch literal 71373 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 + + override fun popularMangaRequest(page: Int) = GET("$baseUrl/api/search/catalog/?ordering=rating&count=$count&page=$page", headers) + + override fun popularMangaParse(response: Response): MangasPage = searchMangaParse(response) + + override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/api/titles/last-chapters/?page=$page&count=$count", headers) + + override fun latestUpdatesParse(response: Response): MangasPage = searchMangaParse(response) + + override fun searchMangaParse(response: Response): MangasPage { + val page = gson.fromJson>(response.body()?.charStream()!!) + val mangas = page.content.map { + it.toSManga() + } + return MangasPage(mangas, !page.last) + } + + private fun LibraryDto.toSManga(): SManga = + SManga.create().apply { + title = en_name + url = "/api/titles/$dir/" + thumbnail_url = "$baseUrl/${img.high}" + } + + private fun parseDate(date: String?): Long = + if (date == null) + Date().time + else { + try { + SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss", Locale.US).parse(date).time + } catch (ex: Exception) { + try { + SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.S", Locale.US).parse(date).time + } catch (ex: Exception) { + Date().time + } + } + } + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + var url = HttpUrl.parse("$baseUrl/api/search/catalog/?page=$page")!!.newBuilder() + if (query.isNotEmpty()) { + url = HttpUrl.parse("$baseUrl/api/search/?page=$page")!!.newBuilder() + url.addQueryParameter("query", query) + } + (if (filters.isEmpty()) getFilterList() else filters).forEach { filter -> + when (filter) { + is CategoryList -> filter.state.forEach { category -> + if (category.state != Filter.TriState.STATE_IGNORE) { + url.addQueryParameter(if (category.isIncluded()) "types" else "exclude_types", category.id) + } + } + is StatusList -> filter.state.forEach { status -> + if (status.state != false) { + url.addQueryParameter("status", status.id) + } + } + is GenreList -> filter.state.forEach { genre -> + if (genre.state != Filter.TriState.STATE_IGNORE) { + url.addQueryParameter(if (genre.isIncluded()) "genres" else "exclude_genres", genre.id) + } + } + is OrderBy -> { + var ord = arrayOf("id", "chapter_date", "rating", "votes", "views", "random")[filter.state!!.index] + if (!filter.state!!.ascending) { + ord = "-" + ord + } + url.addQueryParameter("ordering", ord) + } + } + } + return GET(url.toString(), headers) + } + + private fun parseStatus(status: Int): Int { + return when (status) { + 0 -> SManga.COMPLETED + 1 -> SManga.ONGOING + else -> SManga.UNKNOWN + } + } + + private fun parseType(type: GenresDto): GenresDto { + return when (type.name) { + "Западный комикс" -> GenresDto(type.id, "Комикс") + else -> type + } + } + + private fun MangaDetDto.toSManga(): SManga { + val o = this + return SManga.create().apply { + title = en_name + url = "/api/titles/$dir/" + thumbnail_url = "$baseUrl/${img.high}" + this.description = Jsoup.parse(o.description).text() + genre = (genres + parseType(type)).joinToString { it.name } + status = parseStatus(o.status.id) + } + } + + override fun mangaDetailsParse(response: Response): SManga { + val series = gson.fromJson>(response.body()?.charStream()!!) + branches[series.content.en_name] = series.content.branches + return series.content.toSManga() + } + + private fun mangaBranches(manga: SManga): List { + val response = client.newCall(GET("$baseUrl/${manga.url}")).execute() + val series = gson.fromJson>(response.body()?.charStream()!!) + branches[series.content.en_name] = series.content.branches + return series.content.branches + } + + override fun fetchChapterList(manga: SManga): Observable> { + val branch = branches.getOrElse(manga.title) { mangaBranches(manga) } + return if (manga.status != SManga.LICENSED) { + // Use only first branch for all cases + client.newCall(chapterListRequest(branch[0].id)) + .asObservableSuccess() + .map { response -> + chapterListParse(response) + } + } else { + Observable.error(Exception("Licensed - No chapters to show")) + } + } + + private fun chapterListRequest(branch: Long): Request { + return GET("$baseUrl/api/titles/chapters/?branch_id=$branch", headers) + } + + private fun chapterName(book: BookDto): String { + val chapterId = if (book.chapter % 1 == 0f) book.chapter.toInt() else book.chapter + var chapterName = "${book.tome} - $chapterId" + if (book.name.isNotBlank() && chapterName != chapterName) { + chapterName += "- $chapterName" + } + return chapterName + } + + override fun chapterListParse(response: Response): List { + val chapters = gson.fromJson>(response.body()?.charStream()!!) + return chapters.content.filter { !it.is_paid }.map { chapter -> + SChapter.create().apply { + chapter_number = chapter.chapter + name = chapterName(chapter) + url = "/api/titles/chapters/${chapter.id}" + date_upload = parseDate(chapter.upload_date) + } + }.sortedByDescending { it.chapter_number } + } + + override fun imageUrlParse(response: Response): String = "" + + override fun pageListParse(response: Response): List { + val page = gson.fromJson>(response.body()?.charStream()!!) + return page.content.pages.map { + Page(it.page, "", it.link) + } + } + private class SearchFilter(name: String, val id: String) : Filter.TriState(name) + private class CheckFilter(name: String, val id: String) : Filter.CheckBox(name) + + private class CategoryList(categories: List) : Filter.Group("Категории", categories) + private class StatusList(statuses: List) : Filter.Group("Статус", statuses) + private class GenreList(genres: List) : Filter.Group("Жанры", genres) + + override fun getFilterList() = FilterList( + CategoryList(getCategoryList()), + StatusList(getStatusList()), + GenreList(getGenreList()), + OrderBy() + ) + + private class OrderBy : Filter.Sort("Сортировка", + arrayOf("Новизне", "Последним обновлениям", "Популярности", "Лайкам", "Просмотрам", "Мне повезет"), + Selection(2, false)) + + /* + * Use console + * Object.entries(__FILTER_ITEMS__.types).map(([k, v]) => `SearchFilter("${v.label}", "${v.id}")`).join(',\n') + * on /manga-list + */ + private fun getCategoryList() = listOf( + SearchFilter("Манга", "0"), + SearchFilter("Манхва", "1"), + SearchFilter("Маньхуа", "2"), + SearchFilter("Западный комикс", "3"), + SearchFilter("Русскомикс", "4"), + SearchFilter("Индонезийский комикс", "5"), + SearchFilter("Новелла", "6"), + SearchFilter("Другое", "7") + ) + + /* + * Use console + * Object.entries(__FILTER_ITEMS__.status).map(([k, v]) => `SearchFilter("${v.label}", "${v.id}")`).join(',\n') + * on /manga-list + */ + private fun getStatusList() = listOf( + CheckFilter("Закончен", "0"), + CheckFilter("Продолжается", "1"), + CheckFilter("Заморожен", "2") + ) + + /* + * Use console + * __FILTER_ITEMS__.genres.map(it => `SearchFilter("${it.name}", "${it.id}")`).join(',\n') + * on /manga-list + */ + private fun getGenreList() = listOf( + SearchFilter("арт", "1"), + SearchFilter("бдсм", "44"), + SearchFilter("боевик", "2"), + SearchFilter("боевые искусства", "3"), + SearchFilter("вампиры", "4"), + SearchFilter("гарем", "5"), + SearchFilter("гендерная интрига", "6"), + SearchFilter("героическое фэнтези", "7"), + SearchFilter("детектив", "8"), + SearchFilter("дзёсэй", "9"), + SearchFilter("додзинси", "10"), + SearchFilter("драма", "11"), + SearchFilter("игра", "12"), + SearchFilter("история", "13"), + SearchFilter("киберпанк", "14"), + SearchFilter("кодомо", "15"), + SearchFilter("комедия", "16"), + SearchFilter("махо-сёдзё", "17"), + SearchFilter("меха", "18"), + SearchFilter("мистика", "19"), + SearchFilter("научная фантастика", "20"), + SearchFilter("повседневность", "21"), + SearchFilter("постапокалиптика", "22"), + SearchFilter("приключения", "23"), + SearchFilter("психология", "24"), + SearchFilter("романтика", "25"), + SearchFilter("сверхъестественное", "27"), + SearchFilter("сёдзё", "28"), + SearchFilter("сёдзё-ай", "29"), + SearchFilter("сёнэн", "30"), + SearchFilter("сёнэн-ай", "31"), + SearchFilter("спорт", "32"), + SearchFilter("сэйнэн", "33"), + SearchFilter("трагедия", "34"), + SearchFilter("триллер", "35"), + SearchFilter("ужасы", "36"), + SearchFilter("фантастика", "37"), + SearchFilter("фэнтези", "38"), + SearchFilter("школа", "39"), + SearchFilter("эротика", "42"), + SearchFilter("этти", "40"), + SearchFilter("юри", "41"), + SearchFilter("яой", "43") + ) + + private val gson by lazy { Gson() } +} diff --git a/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/dto/Dto.kt b/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/dto/Dto.kt new file mode 100644 index 000000000..3e1042f84 --- /dev/null +++ b/src/ru/remanga/src/eu/kanade/tachiyomi/extension/ru/remanga/dto/Dto.kt @@ -0,0 +1,78 @@ +data class GenresDto( + val id: Int, + val name: String +) +data class BranchesDto( + val id: Long +) +data class ImgDto( + val high: String, + val mid: String, + val low: String +) + +data class LibraryDto( + val id: Long, + val en_name: String, + val rus_name: String, + val dir: String, + val issue_year: Int, + val genres: List, + val img: ImgDto +) + +data class StatusDto( + val id: Int, + val name: String +) + +data class MangaDetDto( + val id: Long, + val en_name: String, + val rus_name: String, + val dir: String, + val description: String, + val issue_year: Int, + val img: ImgDto, + val type: GenresDto, + val genres: List, + val branches: List, + val status: StatusDto +) +data class PropsDto( + val total_items: Int, + val total_pages: Int, + val page: Int +) + +data class PageWrapperDto( + val msg: String, + val content: List, + val props: PropsDto, + val last: Boolean +) + +data class SeriesWrapperDto( + val msg: String, + val content: T, + val props: PropsDto +) + +data class BookDto( + val id: Long, + val tome: Int, + val chapter: Float, + val name: String, + val upload_date: String, + val is_paid: Boolean +) + +data class PagesDto( + val id: Int, + val link: String, + val page: Int, + val count_comments: Int +) +data class PageDto( + val pages: List +)