diff --git a/multisrc/overrides/animestream/animenosub/additional.gradle b/multisrc/overrides/animestream/animenosub/additional.gradle new file mode 100644 index 000000000..df6f51b3a --- /dev/null +++ b/multisrc/overrides/animestream/animenosub/additional.gradle @@ -0,0 +1,4 @@ +dependencies { + implementation(project(':lib-streamsb-extractor')) + implementation "dev.datlag.jsunpacker:jsunpacker:1.0.1" +} diff --git a/multisrc/overrides/animestream/animenosub/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/animestream/animenosub/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 000000000..1c94a8211 Binary files /dev/null and b/multisrc/overrides/animestream/animenosub/res/mipmap-hdpi/ic_launcher.png differ diff --git a/multisrc/overrides/animestream/animenosub/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/animestream/animenosub/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 000000000..0e03ec167 Binary files /dev/null and b/multisrc/overrides/animestream/animenosub/res/mipmap-mdpi/ic_launcher.png differ diff --git a/multisrc/overrides/animestream/animenosub/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/animestream/animenosub/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 000000000..5bef2d18a Binary files /dev/null and b/multisrc/overrides/animestream/animenosub/res/mipmap-xhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/animestream/animenosub/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/animestream/animenosub/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 000000000..0a031184e Binary files /dev/null and b/multisrc/overrides/animestream/animenosub/res/mipmap-xxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/animestream/animenosub/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/animestream/animenosub/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 000000000..4eebb5e8b Binary files /dev/null and b/multisrc/overrides/animestream/animenosub/res/mipmap-xxxhdpi/ic_launcher.png differ diff --git a/multisrc/overrides/animestream/animenosub/src/Animenosub.kt b/multisrc/overrides/animestream/animenosub/src/Animenosub.kt new file mode 100644 index 000000000..cb033d49e --- /dev/null +++ b/multisrc/overrides/animestream/animenosub/src/Animenosub.kt @@ -0,0 +1,150 @@ +package eu.kanade.tachiyomi.animeextension.en.animenosub + +import androidx.preference.ListPreference +import androidx.preference.PreferenceScreen +import eu.kanade.tachiyomi.animeextension.en.animenosub.extractors.FilemoonExtractor +import eu.kanade.tachiyomi.animeextension.en.animenosub.extractors.StreamWishExtractor +import eu.kanade.tachiyomi.animeextension.en.animenosub.extractors.VidMolyExtractor +import eu.kanade.tachiyomi.animeextension.en.animenosub.extractors.VtubeExtractor +import eu.kanade.tachiyomi.animeextension.en.animenosub.extractors.WolfstreamExtractor +import eu.kanade.tachiyomi.animesource.model.SEpisode +import eu.kanade.tachiyomi.animesource.model.Video +import eu.kanade.tachiyomi.lib.streamsbextractor.StreamSBExtractor +import eu.kanade.tachiyomi.multisrc.animestream.AnimeStream +import org.jsoup.nodes.Element + +class Animenosub : AnimeStream( + "en", + "Animenosub", + "https://animenosub.com", +) { + // ============================== Popular =============================== + + override fun popularAnimeSelector() = "div.serieslist.wpop-weekly li" + + // ============================== Episodes ============================== + + override fun episodeFromElement(element: Element): SEpisode { + val episodeTitle = element.selectFirst("div.epl-title")?.text() ?: "" + return SEpisode.create().apply { + setUrlWithoutDomain(element.attr("href")) + element.selectFirst("div.epl-num")!!.text().let { + name = "Ep. $it ${if (episodeTitle.contains("Episode $it", true)) "" else episodeTitle}" + episode_number = it.substringBefore(" ").toFloatOrNull() ?: 0F + } + element.selectFirst("div.epl-sub")?.text()?.let { scanlator = it } + date_upload = element.selectFirst("div.epl-date")?.text().toDate() + } + } + + // ============================ Video Links ============================= + + override fun getVideoList(url: String, name: String): List