From 8de91234383fabd5685f031b007ebdee065fd4e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Moon=20Light=E3=80=8C=E3=81=A4=E3=81=8B=E3=82=8A=E3=80=8D?= <66781351+MoonLGH@users.noreply.github.com> Date: Tue, 9 Nov 2021 00:31:58 +0700 Subject: [PATCH] Add Neonime (#150) --- .gitignore | 6 +- src/id/neonime/AndroidManifest.xml | 2 + src/id/neonime/build.gradle | 12 + .../neonime/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4929 bytes .../neonime/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2891 bytes .../neonime/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 7428 bytes .../neonime/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 12870 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 19459 bytes src/id/neonime/res/web_hi_res_128.png | Bin 0 -> 7966 bytes .../animeextension/id/neonime/NeoNime.kt | 257 ++++++++++++++++++ 10 files changed, 276 insertions(+), 1 deletion(-) create mode 100644 src/id/neonime/AndroidManifest.xml create mode 100644 src/id/neonime/build.gradle create mode 100644 src/id/neonime/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/id/neonime/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/id/neonime/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/id/neonime/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/id/neonime/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/id/neonime/res/web_hi_res_128.png create mode 100644 src/id/neonime/src/eu/kanade/tachiyomi/animeextension/id/neonime/NeoNime.kt diff --git a/.gitignore b/.gitignore index 38a2c2605..42a86b55b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,4 +9,8 @@ build/ repo/ apk/ gen -generated-src/ \ No newline at end of file +generated-src/ +.vscode/ +.project +.settings +.classpath \ No newline at end of file diff --git a/src/id/neonime/AndroidManifest.xml b/src/id/neonime/AndroidManifest.xml new file mode 100644 index 000000000..acb4de356 --- /dev/null +++ b/src/id/neonime/AndroidManifest.xml @@ -0,0 +1,2 @@ + + \ No newline at end of file diff --git a/src/id/neonime/build.gradle b/src/id/neonime/build.gradle new file mode 100644 index 000000000..e4ae4f56d --- /dev/null +++ b/src/id/neonime/build.gradle @@ -0,0 +1,12 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +ext { + extName = 'NeoNime' + pkgNameSuffix = 'id.neonime' + extClass = '.NeoNime' + extVersionCode = 1 + libVersion = '12' +} + +apply from: "$rootDir/common.gradle" diff --git a/src/id/neonime/res/mipmap-hdpi/ic_launcher.png b/src/id/neonime/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..17985d5e2e814eda285fce7f0b4e01773d2e492b GIT binary patch literal 4929 zcmV-H6Ta+;P)@5(5^*Ait$$w6_cH`YSBtW zWG6-#-R1nB@0s`9-uvEn#>}0$chvcOp6>MC_dV}9zw z*ObphgumsPN>4rY)alOqt(Ie-|A=NZ#eS_tixw3HfYc^Unv4{gDY8~%v&eptqar7e zi!Z+T==0A%zkkP$9hpH02Irl3UgdMo zJ-44se1XUw5tWlPYt~FX_uO-8_wL|K`n` z{mYgu^L6Uf$tM~YxK}jLfA!T@tJSMlE72s?yLWH;p3b{$&Kue_o;%e+%e(*M<0UvXdN)TvX4n(>L52F4ndW?q<{ zo?bRHGjpNe?^g#798mY&cb~^Tsczl6sYf1pM0M=gQOPrb>zK>%;ltI_Pd}}M)PsOP zQ}*oHqoz!mqC`6a*SmM`u0Hd=8EV9c5kb#F<_i`q@NC?;QJbT1*`jIF zrj@miIpWQ{NLH@Fl~-Q5b@uGp>d28Jo>i+>`GjDD27K3Dcd5O5_bPGIYSye->aoWj z(;6ZKtbYIfclbng=+GhPnKo_Os82urRBhU{NqemeF1SEn7lKyTUVE+fY@)47+`jf~ z_GdeH?yNrl{B!l;hadW$eDX;TK;M7={aaZz4Vg$<(FSP zLYnH1JMIWtaWh%r0VRZ~e*5h=z3PAb@rRz=tFOMQuDId~Z6fw(5Po=}q} zP4cp0n223-STW%u)xLfEpuzX=-(L?NZNpT|b-1ZZmo94DxN+*zOD_#vr%(QW(4ax; zg%@7X!6P8UXHHE;F1+wU4JhUe@1bRwvvqF(B#FB^GnX&E_@ZDyGAb#PXmHCdw`59w zq~3r3eecAH6V>_WpC2+%;ulPV38M)BaM@*-srTM{PYI!`KmYtwdmljIJIs(iiG9#4 zXMY!6bdjFu%9Sf|>u`$d)vK4f0s{l*Iy6uA_%LBIbr{-B9pg+gW#$UA3m(V zhgZ1w`s=R`3I&W{vhTk8u6pgY*E9(5&)~s>^%y?-=p)TlEEJ1@=8hRNMw>CuV0O;_ z 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 literal 0 HcmV?d00001 diff --git a/src/id/neonime/res/mipmap-xhdpi/ic_launcher.png b/src/id/neonime/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..546b74e9a5dabfae5df5c9e7cf3ffd4629bf13e8 GIT binary patch literal 7428 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 literal 0 HcmV?d00001 diff --git a/src/id/neonime/res/mipmap-xxxhdpi/ic_launcher.png b/src/id/neonime/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..09253537d3cd93b3f15f89b6fc0411f75ba10d72 GIT binary patch literal 19459 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�KTT`OC;%0&NXTWQT79dJfr@0UI9` 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 UMt4|a3;+NC07*qoM6N<$f-H$gHvj+t literal 0 HcmV?d00001 diff --git a/src/id/neonime/src/eu/kanade/tachiyomi/animeextension/id/neonime/NeoNime.kt b/src/id/neonime/src/eu/kanade/tachiyomi/animeextension/id/neonime/NeoNime.kt new file mode 100644 index 000000000..2e1989118 --- /dev/null +++ b/src/id/neonime/src/eu/kanade/tachiyomi/animeextension/id/neonime/NeoNime.kt @@ -0,0 +1,257 @@ +package eu.kanade.tachiyomi.animeextension.id.neonime + +import android.app.Application +import android.content.SharedPreferences +import androidx.preference.ListPreference +import androidx.preference.PreferenceScreen +import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource +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.asObservableSuccess +import eu.kanade.tachiyomi.util.asJsoup +import okhttp3.OkHttpClient +import okhttp3.Request +import okhttp3.Response +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import org.jsoup.select.Elements +import rx.Observable +import uy.kohesive.injekt.Injekt +import uy.kohesive.injekt.api.get +import java.text.SimpleDateFormat +import java.util.Locale + +class NeoNime : ConfigurableAnimeSource, ParsedAnimeHttpSource() { + override val baseUrl: String = "https://neonime.cc" + override val lang: String = "id" + override val name: String = "NeoNime" + override val supportsLatest: Boolean = true + override val client: OkHttpClient = network.cloudflareClient + + private val preferences: SharedPreferences by lazy { + Injekt.get().getSharedPreferences("source_$id", 0x0000) + } + + // Private Fun + private fun reconstructDate(Str: String): Long { + val pattern = SimpleDateFormat("dd-MM-yyyy", Locale.US) + return pattern.parse(Str)!!.time + } + private fun parseStatus(statusString: String): Int { + return when { + statusString.toLowerCase(Locale.US).contains("ongoing") -> SAnime.ONGOING + statusString.toLowerCase(Locale.US).contains("completed") -> SAnime.COMPLETED + else -> SAnime.UNKNOWN + } + } + + private fun getAnimeFromAnimeElement(element: Element): SAnime { + val anime = SAnime.create() + anime.setUrlWithoutDomain(element.select("a").first().attr("href")) + anime.thumbnail_url = element.select("a > div.image > img").first().attr("data-src") + anime.title = element.select("div.fixyear > div > h2").text() + return anime + } + + private fun getAnimeFromEpisodeElement(element: Element): SAnime { + val animepage = client.newCall(GET(element.select("td.bb > a").first().attr("href"))).execute().asJsoup() + val anime = SAnime.create() + anime.setUrlWithoutDomain(animepage.select("#fixar > div.imagen > a").first().attr("href")) + anime.thumbnail_url = animepage.select("#fixar > div.imagen > a > img").first().attr("data-src") + anime.title = animepage.select("#fixar > div.imagen > a > img").first().attr("alt") + return anime + } + + private fun getAnimeFromSearchElement(element: Element): SAnime { + val url = element.select("a").first().attr("href") + val animepage = client.newCall(GET(url)).execute().asJsoup() + val anime = SAnime.create() + anime.setUrlWithoutDomain(url) + anime.title = animepage.select("#info > div:nth-child(2) > span").text() + anime.thumbnail_url = animepage.select("div.imagen > img").first().attr("data-src") + anime.status = parseStatus(animepage.select("#info > div:nth-child(13) > span").text()) + anime.genre = animepage.select("#info > div:nth-child(3) > span > a").joinToString(", ") { it.text() } + // this site didnt provide artist and author + anime.artist = "Unknown" + anime.author = "Unknown" + + anime.description = animepage.select("#info > div.contenidotv").text() + return anime + } + + private fun getNumberFromEpsString(epsStr: String): String { + return epsStr.filter { it.isDigit() } + } + + // Popular + override fun popularAnimeFromElement(element: Element): SAnime = getAnimeFromAnimeElement(element) + + override fun popularAnimeNextPageSelector(): String = "#contenedor > div > div.box > div.box_item > div.peliculas > div.item_1.items > div.respo_pag > div.pag_b > a" + + override fun popularAnimeRequest(page: Int): Request = GET("$baseUrl/tvshows/page/$page") + + override fun popularAnimeSelector(): String = "div.items > div.item" + + // Latest + + override fun latestUpdatesNextPageSelector(): String = "#contenedor > div > div.box > div.box_item > div.peliculas > div.item_1.items > div.respo_pag > div.pag_b > a" + + override fun latestUpdatesRequest(page: Int): Request = GET("$baseUrl/episode/page/$page") + + override fun latestUpdatesSelector(): String = "table > tbody > tr" + + override fun latestUpdatesFromElement(element: Element): SAnime = getAnimeFromEpisodeElement(element) + + // Search + + override fun searchAnimeFromElement(element: Element): SAnime = getAnimeFromSearchElement(element) + + override fun searchAnimeNextPageSelector(): String = "#contenedor > div > div.box > div.box_item > div.peliculas > div.item_1.items > div.respo_pag > div.pag_b > a" + + override fun searchAnimeRequest(page: Int, query: String, filters: AnimeFilterList): Request { + // filter is not avilable in neonime site + return GET("$baseUrl/list-anime/") + } + + override fun searchAnimeSelector() = throw Exception("Not Used") + + private fun generateSelector(query: String): String = "div.letter-section > ul > li > a:contains($query)" + + override fun searchAnimeParse(response: Response) = throw Exception("Not Used") + + private fun searchQueryParse(response: Response, query: String): AnimesPage { + val document = response.asJsoup() + + val animes = filterNoBatch(document.select(generateSelector(query))).map { element -> + searchAnimeFromElement(element) + } + + return AnimesPage(animes, false) + } + + private fun filterNoBatch(eles: Elements): Elements { + val retElements = Elements() + + for (ele in eles) { + if (ele.attr("href").contains("/tvshows")) { + retElements.add(ele) + } + } + + return retElements + } + + override fun fetchSearchAnime(page: Int, query: String, filters: AnimeFilterList): Observable { + val returnedSearch = searchAnimeRequest(page, query, filters) + return client.newCall(returnedSearch) + .asObservableSuccess() + .map { response -> + searchQueryParse(response, query) + } + } + + // Anime Details + + override fun animeDetailsParse(document: Document): SAnime { + val anime = SAnime.create() + anime.title = document.select("#info > div:nth-child(2) > span").text() + anime.thumbnail_url = document.select("div.imagen > img").first().attr("data-src") + anime.status = parseStatus(document.select("#info > div:nth-child(13) > span").text()) + anime.genre = document.select("#info > div:nth-child(3) > span > a").joinToString(", ") { it.text() } + // this site didnt provide artist and author + anime.artist = "Unknown" + anime.author = "Unknown" + + anime.description = document.select("#info > div.contenidotv").text() + return anime + } + + // Episode List + + override fun episodeListSelector(): String = "ul.episodios > li" + + override fun episodeFromElement(element: Element): SEpisode { + val episode = SEpisode.create() + val epsNum = getNumberFromEpsString(element.select("div.episodiotitle > a").text()) + episode.setUrlWithoutDomain(element.select("div.episodiotitle > a").attr("href")) + episode.episode_number = when { + (epsNum.isNotEmpty()) -> epsNum.toFloat() + else -> 1F + } + episode.name = element.select("div.episodiotitle > a").text() + episode.date_upload = reconstructDate(element.select("div.episodiotitle > span.date").text()) + + return episode + } + + // Video + override fun videoListSelector() = "div > ul >ul > li >a:nth-child(6)" + + override fun videoUrlParse(document: Document) = throw Exception("not used") + + override fun List