From d24611fa33721f31c130af9197e0d81b2ddafe25 Mon Sep 17 00:00:00 2001 From: Willy Nur Wahyudi Date: Mon, 15 Jan 2024 06:18:01 +0700 Subject: [PATCH 01/11] fix(id/animeindo,otakudesu): Update baseUrl (#2748) --- multisrc/overrides/animestream/animeindo/src/AnimeIndo.kt | 2 +- .../tachiyomi/multisrc/animestream/AnimeStreamGenerator.kt | 2 +- src/id/otakudesu/build.gradle | 2 +- .../kanade/tachiyomi/animeextension/id/otakudesu/OtakuDesu.kt | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/multisrc/overrides/animestream/animeindo/src/AnimeIndo.kt b/multisrc/overrides/animestream/animeindo/src/AnimeIndo.kt index cad622c2a1..4aa9a54542 100644 --- a/multisrc/overrides/animestream/animeindo/src/AnimeIndo.kt +++ b/multisrc/overrides/animestream/animeindo/src/AnimeIndo.kt @@ -27,7 +27,7 @@ import org.jsoup.nodes.Element class AnimeIndo : AnimeStream( "id", "AnimeIndo", - "https://animeindo.quest", + "https://animeindo.skin", ) { override val animeListUrl = "$baseUrl/animelist" diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/animestream/AnimeStreamGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/animestream/AnimeStreamGenerator.kt index 66d5378e44..ffea66ae7c 100644 --- a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/animestream/AnimeStreamGenerator.kt +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/animestream/AnimeStreamGenerator.kt @@ -12,7 +12,7 @@ class AnimeStreamGenerator : ThemeSourceGenerator { override val sources = listOf( SingleLang("AnimeBalkan", "https://animebalkan.org", "sr", isNsfw = false), - SingleLang("AnimeIndo", "https://animeindo.quest", "id", isNsfw = false, overrideVersionCode = 6), + SingleLang("AnimeIndo", "https://animeindo.skin", "id", isNsfw = false, overrideVersionCode = 7), SingleLang("AnimeKhor", "https://animekhor.xyz", "en", isNsfw = false, overrideVersionCode = 2), SingleLang("Animenosub", "https://animenosub.com", "en", isNsfw = true, overrideVersionCode = 3), SingleLang("AnimeTitans", "https://animetitans.com", "ar", isNsfw = false, overrideVersionCode = 13), diff --git a/src/id/otakudesu/build.gradle b/src/id/otakudesu/build.gradle index c83e27817e..e782ec59ef 100644 --- a/src/id/otakudesu/build.gradle +++ b/src/id/otakudesu/build.gradle @@ -7,7 +7,7 @@ ext { extName = 'OtakuDesu' pkgNameSuffix = 'id.otakudesu' extClass = '.OtakuDesu' - extVersionCode = 22 + extVersionCode = 23 libVersion = '13' } diff --git a/src/id/otakudesu/src/eu/kanade/tachiyomi/animeextension/id/otakudesu/OtakuDesu.kt b/src/id/otakudesu/src/eu/kanade/tachiyomi/animeextension/id/otakudesu/OtakuDesu.kt index ac2ed33566..6f33df4a85 100644 --- a/src/id/otakudesu/src/eu/kanade/tachiyomi/animeextension/id/otakudesu/OtakuDesu.kt +++ b/src/id/otakudesu/src/eu/kanade/tachiyomi/animeextension/id/otakudesu/OtakuDesu.kt @@ -37,7 +37,7 @@ class OtakuDesu : ConfigurableAnimeSource, ParsedAnimeHttpSource() { override val name = "OtakuDesu" - override val baseUrl = "https://otakudesu.cam" + override val baseUrl = "https://otakudesu.media" override val lang = "id" From 1497304210f26568aa41237a482b2b0f24ce9561 Mon Sep 17 00:00:00 2001 From: Samfun75 <38332931+Samfun75@users.noreply.github.com> Date: Mon, 15 Jan 2024 02:36:42 +0300 Subject: [PATCH 02/11] fix(all/yomiroll): Update anilist query for better results (#2741) --- src/all/kamyroll/build.gradle | 2 +- .../animeextension/all/kamyroll/Yomiroll.kt | 26 +++++++++++++------ 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/all/kamyroll/build.gradle b/src/all/kamyroll/build.gradle index 9a458d1fbb..30c5eedbeb 100644 --- a/src/all/kamyroll/build.gradle +++ b/src/all/kamyroll/build.gradle @@ -8,7 +8,7 @@ ext { extName = 'Yomiroll' pkgNameSuffix = 'all.kamyroll' extClass = '.Yomiroll' - extVersionCode = 28 + extVersionCode = 29 libVersion = '13' } diff --git a/src/all/kamyroll/src/eu/kanade/tachiyomi/animeextension/all/kamyroll/Yomiroll.kt b/src/all/kamyroll/src/eu/kanade/tachiyomi/animeextension/all/kamyroll/Yomiroll.kt index 00f90cea8e..0d538647ed 100644 --- a/src/all/kamyroll/src/eu/kanade/tachiyomi/animeextension/all/kamyroll/Yomiroll.kt +++ b/src/all/kamyroll/src/eu/kanade/tachiyomi/animeextension/all/kamyroll/Yomiroll.kt @@ -137,15 +137,22 @@ class Yomiroll : ConfigurableAnimeSource, AnimeHttpSource() { private fun fetchStatusByTitle(title: String): Int { val query = """ query { - Media(search: "$title", isAdult: false, sort: UPDATED_AT, type: ANIME) { - id - idMal - title { + Media( + search: "$title", + sort: STATUS_DESC, + status_not_in: [NOT_YET_RELEASED], + format_not_in: [SPECIAL, MOVIE], + isAdult: false, + type: ANIME + ) { + id + idMal + title { romaji native english - } - status + } + status } } """.trimIndent() @@ -163,7 +170,6 @@ class Yomiroll : ConfigurableAnimeSource, AnimeHttpSource() { return when (responseParsed.data.media?.status) { "FINISHED" -> SAnime.COMPLETED "RELEASING" -> SAnime.ONGOING - "NOT_YET_RELEASED" -> SAnime.LICENSED "CANCELLED" -> SAnime.CANCELLED "HIATUS" -> SAnime.ON_HIATUS else -> SAnime.UNKNOWN @@ -411,7 +417,11 @@ class Yomiroll : ConfigurableAnimeSource, AnimeHttpSource() { url = anime?.url ?: LinkData(id, type!!).toJsonString() genre = anime?.genre ?: (series_metadata?.genres ?: movie_metadata?.genres ?: genres) ?.joinToString { gen -> gen.replaceFirstChar { it.uppercase() } } - status = if (anime != null) fetchStatusByTitle(this@toSAnime.title) else SAnime.UNKNOWN + status = anime?.let { + val media = json.decodeFromString(anime.url) + if (media.media_type == "series") fetchStatusByTitle(this@toSAnime.title) + else SAnime.COMPLETED + } ?: SAnime.UNKNOWN author = content_provider description = anime?.description ?: StringBuilder().apply { appendLine(this@toSAnime.description) From 2511b7e8e7a5eaf0ad7a54e260943825de302cb4 Mon Sep 17 00:00:00 2001 From: Claudemirovsky <63046606+Claudemirovsky@users.noreply.github.com> Date: Mon, 15 Jan 2024 06:26:05 -0300 Subject: [PATCH 03/11] feat: Use extensions-lib v14 (#2752) --- common.gradle | 2 +- gradle/libs.versions.toml | 2 +- .../tachiyomi/animeextension/all/kamyroll/Yomiroll.kt | 5 +++-- .../animeextension/ar/tuktukcinema/Tuktukcinema.kt | 8 ++++---- .../es/legionanime/extractors/MediaFireExtractor.kt | 2 +- 5 files changed, 10 insertions(+), 9 deletions(-) diff --git a/common.gradle b/common.gradle index f8235f6f98..17895d72f6 100644 --- a/common.gradle +++ b/common.gradle @@ -23,7 +23,7 @@ android { targetSdkVersion AndroidConfig.targetSdk applicationIdSuffix pkgNameSuffix versionCode extVersionCode - versionName project.ext.properties.getOrDefault("libVersion", "13") + ".$extVersionCode" + versionName project.ext.properties.getOrDefault("libVersion", "14") + ".$extVersionCode" base { archivesName = "aniyomi-$pkgNameSuffix-v$versionName" } diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index 9840a2be93..c825b2d0d8 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -5,7 +5,7 @@ kotlin_version = "1.8.22" serialization_version = "1.5.1" [libraries] -aniyomi-lib = { module = "com.github.jmir1:extensions-lib", version = "a2f1874" } +aniyomi-lib = { module = "com.github.aniyomiorg:extensions-lib", version = "14" } kotlin-stdlib = { module = "org.jetbrains.kotlin:kotlin-stdlib-jdk8", version.ref = "kotlin_version" } kotlin-protobuf = { module = "org.jetbrains.kotlinx:kotlinx-serialization-protobuf", version.ref = "serialization_version" } diff --git a/src/all/kamyroll/src/eu/kanade/tachiyomi/animeextension/all/kamyroll/Yomiroll.kt b/src/all/kamyroll/src/eu/kanade/tachiyomi/animeextension/all/kamyroll/Yomiroll.kt index 0d538647ed..2d48c86edd 100644 --- a/src/all/kamyroll/src/eu/kanade/tachiyomi/animeextension/all/kamyroll/Yomiroll.kt +++ b/src/all/kamyroll/src/eu/kanade/tachiyomi/animeextension/all/kamyroll/Yomiroll.kt @@ -419,8 +419,9 @@ class Yomiroll : ConfigurableAnimeSource, AnimeHttpSource() { ?.joinToString { gen -> gen.replaceFirstChar { it.uppercase() } } status = anime?.let { val media = json.decodeFromString(anime.url) - if (media.media_type == "series") fetchStatusByTitle(this@toSAnime.title) - else SAnime.COMPLETED + if (media.media_type == "series") { + fetchStatusByTitle(this@toSAnime.title) + } else SAnime.COMPLETED } ?: SAnime.UNKNOWN author = content_provider description = anime?.description ?: StringBuilder().apply { diff --git a/src/ar/tuktukcinema/src/eu/kanade/tachiyomi/animeextension/ar/tuktukcinema/Tuktukcinema.kt b/src/ar/tuktukcinema/src/eu/kanade/tachiyomi/animeextension/ar/tuktukcinema/Tuktukcinema.kt index a4ed9bae21..41bd494424 100644 --- a/src/ar/tuktukcinema/src/eu/kanade/tachiyomi/animeextension/ar/tuktukcinema/Tuktukcinema.kt +++ b/src/ar/tuktukcinema/src/eu/kanade/tachiyomi/animeextension/ar/tuktukcinema/Tuktukcinema.kt @@ -6,6 +6,7 @@ import android.widget.Toast import androidx.preference.EditTextPreference import androidx.preference.ListPreference import androidx.preference.PreferenceScreen +import dev.datlag.jsunpacker.JsUnpacker import eu.kanade.tachiyomi.animeextension.BuildConfig import eu.kanade.tachiyomi.animesource.ConfigurableAnimeSource import eu.kanade.tachiyomi.animesource.model.AnimeFilter @@ -16,11 +17,10 @@ import eu.kanade.tachiyomi.animesource.model.Video import eu.kanade.tachiyomi.animesource.online.ParsedAnimeHttpSource import eu.kanade.tachiyomi.lib.doodextractor.DoodExtractor import eu.kanade.tachiyomi.lib.okruextractor.OkruExtractor +import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils import eu.kanade.tachiyomi.lib.streamtapeextractor.StreamTapeExtractor import eu.kanade.tachiyomi.lib.uqloadextractor.UqloadExtractor import eu.kanade.tachiyomi.lib.vidbomextractor.VidBomExtractor -import eu.kanade.tachiyomi.lib.playlistutils.PlaylistUtils -import dev.datlag.jsunpacker.JsUnpacker import eu.kanade.tachiyomi.network.GET import eu.kanade.tachiyomi.util.asJsoup import kotlinx.coroutines.Dispatchers @@ -162,7 +162,7 @@ class Tuktukcinema : ConfigurableAnimeSource, ParsedAnimeHttpSource() { val url = element.attr("data-link") val txt = element.text() return when { - "Main" in txt -> { + "Main" in txt -> { videosFromMain(url) } url.contains("ok") -> { @@ -208,7 +208,7 @@ class Tuktukcinema : ConfigurableAnimeSource, ParsedAnimeHttpSource() { private fun videosFromOthers(url: String, prefix: String): List