From f29131f748bd0ae1a6d971bac22c63f7c647c924 Mon Sep 17 00:00:00 2001 From: h-hyuuga <83582211+h-hyuuga@users.noreply.github.com> Date: Mon, 3 May 2021 09:57:55 -0400 Subject: [PATCH] Added Genkan.io extension (#6809) --- src/all/genkanio/AndroidManifest.xml | 23 +++ src/all/genkanio/build.gradle | 12 ++ .../genkanio/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3479 bytes .../genkanio/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1909 bytes .../genkanio/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4664 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 8848 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 12036 bytes src/all/genkanio/res/web_hi_res_512.png | Bin 0 -> 59352 bytes .../extension/all/genkanio/GenkanIO.kt | 182 ++++++++++++++++++ .../all/genkanio/GenkanIOUrlActivity.kt | 44 +++++ 10 files changed, 261 insertions(+) create mode 100644 src/all/genkanio/AndroidManifest.xml create mode 100644 src/all/genkanio/build.gradle create mode 100644 src/all/genkanio/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/all/genkanio/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/all/genkanio/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/all/genkanio/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/all/genkanio/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/all/genkanio/res/web_hi_res_512.png create mode 100644 src/all/genkanio/src/eu/kanade/tachiyomi/extension/all/genkanio/GenkanIO.kt create mode 100644 src/all/genkanio/src/eu/kanade/tachiyomi/extension/all/genkanio/GenkanIOUrlActivity.kt diff --git a/src/all/genkanio/AndroidManifest.xml b/src/all/genkanio/AndroidManifest.xml new file mode 100644 index 000000000..be2ea6bbd --- /dev/null +++ b/src/all/genkanio/AndroidManifest.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/all/genkanio/build.gradle b/src/all/genkanio/build.gradle new file mode 100644 index 000000000..eb0a37920 --- /dev/null +++ b/src/all/genkanio/build.gradle @@ -0,0 +1,12 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +ext { + extName = 'Genkan.io' + pkgNameSuffix = "all.genkanio" + extClass = '.GenkanIO' + extVersionCode = 1 + libVersion = '1.2' +} + +apply from: "$rootDir/common.gradle" diff --git a/src/all/genkanio/res/mipmap-hdpi/ic_launcher.png b/src/all/genkanio/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..0a2c55aa7a500954c1abf2e5529ad76dae9ed6b7 GIT binary patch literal 3479 zcmV;I4QTR-P)pkIIxfmFhS{wWx^GmJ!e(TB(ZGilaaT zE7nJA6;P_8jO|cI2Z4fsICiYBfFLBWkvs?_B)gm4yZ7GHIp^MU_wHtsUBC@VCd=H} zu#e=P-~PY<_nq&Yy8?P|9TE_F`E*R67f=#~^aAPybZ#cntDqlAK@?<9f=K|-Bk3*K zpc$Bb`}Xx6GiJ=yf*=%%qL`8Nw|3zdXqqMyLJoZW_1D`bO`6mQKjU53J*R5OUnLT^+0&3<>%)w zPUX|+uCJ-DuV2-_fB(k;1kMytR!vRKvH=4Ily%j?6B5nTf{-lVBpyX=ZEg9$fdeTZ ze~$u0;jkkRgqY=Kqdyx+JrWQFqbUkPTX&#x#cB+GX$^7;MnDwBGltaT08u!qsv`XP z7x2$7gYW1uG+i|r<5w<6_E0Y*Njf7)Jqi$0j;2AbKLP)u2cc};fo7uObExo4z5-XS z{~H`R*=Gc)#{lARlu!u%)qjD!at)hJwSwStq9Ckk=s$fbE`RaQaQDwoIox^-AgUZi zQ4n0e5v>nB4#;|47Y4!qGzBe0gJ`$Id($s4?oZ3$@_15$)FS{6B= zKpim@qi0+Xo88U;#e?F7U?dVj;MuhZm#+mPats^_gx1gXAgItHP&gsuUdqhG=*0^e zB%1yyr1)D}0kJ_)e^3-C!61}iD>PYV_x@wY(EQyYwAR$%)E8f(>D&F#!gPQ%EC@b> z3h$MZG4uY#7+h2ccWy2OOQFZ=ok#?&A8kW$(Ssn3O)(*44X0+e69>i?A>wrCpjlNd zLXzkqVZzb};JKtIp^DN5hz_9f;3535j1cPKT3-gm_u0eoL zH5sjhz~ORX^wrbwlV9G5;_I%3)2&Y%nC~2}L~wo?)GxkD2#5L)g%Ro32mTkIg*eR1 zAW$ean+7wRix}8RuaX{>S zf&gcBHU<|LVaB}+QFzr<1}Jdb-B5S#0gMdAjhX))9S{K#L?|0xhV8Nv28F7K!l01& z!9y(G@6rN@XBO%YCn~G()x(dWdCxvTv34$_86}!;qOEcrP}Fesq(mUuY$%@bQ%udv zN1rz~!C|Fg{RG&rCrm+gE$BvvyVlUB6 z+RXe3USoQF%yULgG~Q|lFj30DM8S@{yXK(plaI2RC)LJT+7-kBne(Pd1R-BFLT|hS zvgv&^*45&BO@W^cG8!^w9Yp;jewEyKAdz}v=XC@k5#SO93>G9zoqGpLp86v*>MjL{ zr+qp#2z~f5f={jh@f~L=pANE_wj?wKA)=XnlE{Osq^!OZud+;0L=FUaLiCJ)2#EU7C|t^gN%yL z$bHmRr~%W10&oiwJP?p82*_k&)Qbo<@9L9_QLCQ9h1XpJm&?^PJcv(JBh|+d+Vnm` zZ@mlcaHa8K$4)D_0s+K zz*HfkA9NtpbSVryeMjpii<|RDnbut6FGI=mtB^Nj2!mstY9s;@|5#c8v6*&V9ctG9 zgY}7Nu}BY%9&8$7=AYMdVcSl84;8hV%62fdeSPfo z!D!m}dnlY#Q@iz#rA0wz_A;RG|HnhI zrf0Sqy8k=KcP|90j>Y)PVG2o8pms2Kiv}%$t7I&SpD)J+!-kr^W1YdL;yr0q5LZd6 z4SF`AZSf=UyZfMh^l|k3jVPia=7WkVRb{G*e}SdmhBR;hMnAU_Lne$jQ#yx}%H*_D zOgfcMh{L0y#~SZXuZFzl1-2@|TNb)1^rn|efO>(TLX8-WL$i)H)h4)HD0uQQ6x{GL zxZQ4M%4g#{X%Def0kOurqM&u>9t3~82&Ca;%;sC3we*&SeybBS9MlxZ#ypK<5+oZu zvu{Sxk}~Av^)o~3Oij5IFVIr2wc6jSetJ452bZSBr zgftC8PBw~Pe+7fbm6$6OJhYOXOS0$B3n0GHpmoPQQv|tm z68hfwb7c3^eTQ}n&!*n#5`fH}5KZY%JdN<*H^eOk8P!aD|A(DDUEdOL>hcMYubv9$ z_)Fm&G>C0JaJk)PrQF^UaK;V5V& z#UNuZfiP|?T-n)XT@$||YF!mQn_{pdb#;mdnW5F(g68@6LD}+A{K_Fa$Ci;J;Jx^sQDj9>UtgM(d^Z2!M4#T<~=Eqh|r&iLeTBZ}xiUVkwcMp^!RR~^u5!6cxp^Yg5 znJ^B{3q0nG+X{q+PJH-SVWblbhm`gZW5z5;aB|5X&_sJX)21M^U^s-_9N60lAD*VI zYN03G89+MKq|IGm;V>GTnvmgeFg4K|-+p3M2?rCuvEXb|^pEkrv?_=LvNq1>V~Mt% z#2fATP|JCli^Vt3_(^ny@JU5s=cJ&cM~^<_^?Dx==!U-zZizaI)-X!tM9;@-2qBu! z=X++@uwhS~&E-(89Xoc+E-fuxWwY7n#k?Kftlh<~5-w)~s2>%gf7O8$Nva#AJW0J3e1kRrOg}S=k+%H*c;w(@QcbIJ$q1|qG^?>VFwMZlq^!a=T%F4Z`Br+`W5uwE>4N@+SO(fn*nY(iLF3(UdBO z9u!V=Rk%CGmHs6Hvf(+@cj#Whv-)BIGh-VYEa)Z+3a2}NkB6~Ii2kgXYKEq*kc+Ndxz-j$ZdI2TD+Y6`{(78q6{{c{jvB9!=Fuwo*002ovPDHLk FV1m!ZiZ%cM literal 0 HcmV?d00001 diff --git a/src/all/genkanio/res/mipmap-mdpi/ic_launcher.png b/src/all/genkanio/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..e6f0260ff95f743c95866b0297153cc58530f839 GIT binary patch literal 1909 zcmV-*2a5QKP)Lr^rn5`GyFOBxVq z&}cvH#RmdUA%a4C>cvC0`71)yx#Bk*9|f7gxg0Vk;XtE@F)Poc_5hp?FUTL{8Les z{NY5vvaFEH<+=z!*eRz}1V(bsPYfsU5({H&G=Q!%5g5feKmLCZuq+EOOfc0A#?I{M zjIl8QP7VtK1U|C;3$!-AgDLNAgvakcBZ*-{fWY^*w&8U3U1;v^f>ARY*S);~9-nVO z62pQ3fsckl=)QF>tOLK`7%Utzbrj!y7iPS<7OKb7FNq;1z&VGm>o~piIq2_wD9Y>< zIQE-SA?peAYf-W0HMmtZC5fC7AYcjJoT4D<9Md!rdiQ*D;?N43)45qDE2A9i~Fh*7cNV|GCj8jd`2(@=2bhsU-TU!x1dJLxy9)cO^ zq1)qIX5pIqYEkpl;}}z190#DCIEm9Y-3hCsGah~FZs?ldZ>~akY8hOLA|mhccu{`u zJOsv!7J+cg1DV+D89ULyzgINpaqxy*@C>%Q$ z!TTS9@#RiOOBRbZ{h=><2=2!h3h*%k9{7Adk%6oUkVJ&-_4eY>2V2ql{HuVj$H2$& z|My!EAXy1)9IDTUYpsUaI*Dx0uh&n*VcyM?a!*r(NIz>eweu@3#(upYC^EvYJ@`U8%)~EB# zbS9QrkR;moevOu=mxBj`3E-uKqR#BZ9V!Oa1BMwc6*HNNJefg-p`h(21V)VLQ~XKp zmRSwRC^|E7WdHa0b;(j#C+*(K1{2FbY$w599kQZhJ}}HwRLoFR_&DI(@ev9uuI}SJ zgGRtfLen&aLLvP9)+V&Bsz*csjzxH{MKv%mcqh3$0JB_PTwlK$7tEiR(*Lt|Avu7Q zlGf3Q(27@Jez{9H&X3$c(6U4+I5S|U!7dR;(Q^(jV<=(@ia0Pb5J2^3+fZ`lG^qW| z!dVqDT}<*ZdwLOGw-LQ>th0+aCKZDNKXU_J+{8XJ8kZ2c5S>Aday}SFFor@XC<22| zN(#Wll`o-u!F=TB=jTR3!bW$0jo`B{!TRlRg8$1&fo6w;+`uP#54Zpt+eR{me9qvq zZB?ExYkS0Pb5K#g3WbG*aT`r`pR6P#8nAE#$9L^PRMQZR>M%`1WF)zzusZ%g=b8p| zo3UkUg2g7e5oJa#Ey47Uw_wc07YhqbZXE{2Mr9L5T_kOWVF=*K;Pu{K@Y;u<95{p) znCP@g$U2abmk!Ik9$c|`6UI-kfZy*QQ2SYB!0A4zqE5#}m-$*f%-0*@ZgdzH4qJMk zdBQeWl)SJUEk^SEzeA`^WFdQ8Q#}RI!*&;c`97uvM ztg1xC`g#-<6$#ywbkg}`+)DH}xLjSGnteNXOIu&v1Nh5caZ$5O6x4C!aLu+Y7+X@3 zmhK02B6AK#(WiRoUhxX_4R81HdS|nD92^HM9j4oj%irCI(pfVR2n5p7ea;Aw?!#a0 zMriH>0JoB!Tsj-PSXbJmF#NM@3Cb5OJS*MjgaAoL`{y{iZ@d-Okzh*UQ>zui4(-)go>5ErQ@XY zAZt+Ofn?na%iQ)UB6Uj=X5>imIA}GMuxN2oc3B)W^)|GT)5wV`6Yzv1YZnqN#nEHv zo>c>Wq6@tjjz!N+H^7=xg+Tcf;VKki+T`+3F7EqVq@-h?Sx;ngGBXVWe?Pe#Vbg$d za}_+7PmRx_1UgluGmUmCVp(NC*ru+Fb%0z!$|%#fQyzl}deDkk_CK;0B9J5xr$o+1 z4w;;rb_O&}>+pCyfmE%7Y~o~;a~196dq<TM>Sz20pi`(t?=L%Fh;~It$X>V`eURzuHd{a|X z2LLUhE>a9aD?kE0(tbm!rgNhlo8UzSL17VZ(y00000NkvXXu0mjfCL4Qz literal 0 HcmV?d00001 diff --git a/src/all/genkanio/res/mipmap-xhdpi/ic_launcher.png b/src/all/genkanio/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ca210a848c8e4fc519ff5bc71b5ebbe72c2537fe GIT binary patch literal 4664 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 { + return client.newCall(searchMangaRequest(page, query, filters)) + .asObservableSuccess() + .map { response -> + // Genkan.io redirects if the search query contains characters it deems "illegal" (e.g: '-') + // Return no responses if any redirects occurred + if (response.priorResponse != null) + MangasPage(emptyList(), false) + else + searchMangaParse(response) + } + } + + override fun searchMangaRequest(page: Int, query: String, @Suppress("UNUSED_PARAMETER") filters: FilterList): Request { + val url = "$baseUrl/manga".toHttpUrlOrNull()!!.newBuilder() + .addQueryParameter("page", "$page") + .addQueryParameter("search", query) + return GET("$url") + } + + override fun searchMangaFromElement(element: Element) = alphabeticalMangaFromElement(element) + override fun searchMangaSelector() = alphabeticalMangaSelector() + override fun searchMangaNextPageSelector() = alphabeticalMangaNextPageSelector() + + // chapter list (is paginated), + override fun chapterListParse(response: Response): List = throw UnsupportedOperationException("Not used") + override fun chapterListRequest(manga: SManga): Request = throw UnsupportedOperationException("Not used") + data class ChapterPage(val chapters: List, val hasnext: Boolean) + + override fun fetchChapterList(manga: SManga): Observable> { + return if (manga.status != SManga.LICENSED) { + // Returns an observable which emits the list of chapters found on a page, + // for every page starting from specified page + fun getAllPagesFrom(page: Int): Observable> = + client.newCall(chapterListRequest(manga, page)) + .asObservableSuccess() + .concatMap { response -> + val cp = chapterPageParse(response) + if (cp.hasnext) + Observable.just(cp.chapters).concatWith(getAllPagesFrom(page + 1)) + else + Observable.just(cp.chapters) + } + getAllPagesFrom(1).reduce(List::plus) + } else { + Observable.error(Exception("Licensed - No chapters to show")) + } + } + + private fun chapterPageParse(response: Response): ChapterPage { + val document = response.asJsoup() + + val mangas = document.select(chapterListSelector()).map { element -> + chapterFromElement(element) + } + + val hasNextPage = chapterListNextPageSelector()?.let { selector -> + document.select(selector).first() + } != null + + return ChapterPage(mangas, hasNextPage) + } + + private fun chapterListRequest(manga: SManga, page: Int): Request { + val url = "$baseUrl${manga.url}".toHttpUrlOrNull()!!.newBuilder() + .addQueryParameter("page", "$page") + return GET("$url", headers) + } + + override fun chapterFromElement(element: Element): SChapter = element.children().let { tablerow -> + val isTitleBlank: (String) -> Boolean = { s: String -> s == "-" || s.isBlank() } + val (numElem, nameElem, languageElem, groupElem, viewsElem) = tablerow + val (releasedElem, urlElem) = Pair(tablerow[5], tablerow[6]) + SChapter.create().apply { + name = if (isTitleBlank(nameElem.text())) "Chapter ${numElem.text()}" else "Ch. ${numElem.text()}: ${nameElem.text()}" + url = urlElem.select("a").attr("href").substringAfter(baseUrl) + date_upload = parseRelativeDate(releasedElem.text()) ?: 0 + scanlator = "${groupElem.text()} - ${languageElem.text()}" + chapter_number = numElem.text().toFloat() + } + } + + override fun chapterListSelector() = "tbody > tr" + fun chapterListNextPageSelector() = "a[rel=next]" + + // manga + + override fun mangaDetailsParse(document: Document): SManga = SManga.create().apply { + thumbnail_url = document.selectFirst("section > div > img").attr("src") + status = SManga.UNKNOWN // unreported + artist = null // unreported + author = null // unreported + description = document.selectFirst("h2").nextElementSibling().text() + .plus("\n\n\n") + // Add additional details from info table + .plus( + document.select("ul.mt-1").joinToString("\n") { + "${it.previousElementSibling().text()}: ${it.text()}" + } + ) + } + + private fun parseRelativeDate(date: String): Long? { + val trimmedDate = date.substringBefore(" ago").removeSuffix("s").split(" ") + + val calendar = Calendar.getInstance() + when (trimmedDate[1]) { + "year" -> calendar.apply { add(Calendar.YEAR, -trimmedDate[0].toInt()) } + "month" -> calendar.apply { add(Calendar.MONTH, -trimmedDate[0].toInt()) } + "week" -> calendar.apply { add(Calendar.WEEK_OF_MONTH, -trimmedDate[0].toInt()) } + "day" -> calendar.apply { add(Calendar.DAY_OF_MONTH, -trimmedDate[0].toInt()) } + "hour" -> calendar.apply { add(Calendar.HOUR_OF_DAY, -trimmedDate[0].toInt()) } + "minute" -> calendar.apply { add(Calendar.MINUTE, -trimmedDate[0].toInt()) } + "second" -> calendar.apply { add(Calendar.SECOND, 0) } + } + + return calendar.timeInMillis + } + + // Pages + override fun pageListParse(document: Document): List = document.select("main > div > img").mapIndexed { index, img -> + Page(index, "", img.attr("src")) + } + + override fun imageUrlParse(document: Document): String = throw UnsupportedOperationException("Not used") +} diff --git a/src/all/genkanio/src/eu/kanade/tachiyomi/extension/all/genkanio/GenkanIOUrlActivity.kt b/src/all/genkanio/src/eu/kanade/tachiyomi/extension/all/genkanio/GenkanIOUrlActivity.kt new file mode 100644 index 000000000..4f8705fb7 --- /dev/null +++ b/src/all/genkanio/src/eu/kanade/tachiyomi/extension/all/genkanio/GenkanIOUrlActivity.kt @@ -0,0 +1,44 @@ +package eu.kanade.tachiyomi.extension.all.genkanio + +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 GenkanIOUrlActivity : Activity() { + + override fun onCreate(savedInstanceState: Bundle?) { + super.onCreate(savedInstanceState) + val pathSegments = intent?.data?.pathSegments + if (pathSegments != null && pathSegments.size >= 2) { + // url scheme is of the form "/manga/ID-MANGANAME" + val (_, titleComponent) = pathSegments + + // This is essentially substringBefore(titleComponent, '-'), don't have access to stdlib + var titleId = "" + for (i in 0 until titleComponent.length) { + if (titleComponent[i] == '-') break + titleId = titleId.plus(titleComponent[i]) + } + + val mainIntent = Intent().apply { + action = "eu.kanade.tachiyomi.SEARCH" + putExtra("query", titleId) + putExtra("filter", packageName) + } + + try { + startActivity(mainIntent) + } catch (e: ActivityNotFoundException) { + Log.e("GenkanIOUrlActivity", e.toString()) + } + } else { + Log.e("GenkanIOUrlActivity", "could not parse uri from intent $intent") + } + + finish() + exitProcess(0) + } +}