From 16b2eae7b4f8edc50438ad5d73d71a1fb4faf08f Mon Sep 17 00:00:00 2001 From: AlphaBoom <30779939+AlphaBoom@users.noreply.github.com> Date: Thu, 6 Feb 2025 05:59:35 +0800 Subject: [PATCH] =?UTF-8?q?Add=20Nivod(=E6=B3=A5=E8=A7=86=E9=A2=91)=20(#61?= =?UTF-8?q?7)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/zh/nivod/build.gradle | 7 + src/zh/nivod/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 4215 bytes src/zh/nivod/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2283 bytes src/zh/nivod/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 6151 bytes .../nivod/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 11857 bytes .../nivod/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 17740 bytes .../animeextension/zh/nivod/Filters.kt | 38 +++ .../animeextension/zh/nivod/Nivod.kt | 308 ++++++++++++++++++ .../animeextension/zh/nivod/NivodDTO.kt | 17 + 9 files changed, 370 insertions(+) create mode 100644 src/zh/nivod/build.gradle create mode 100644 src/zh/nivod/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/zh/nivod/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/zh/nivod/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/zh/nivod/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/zh/nivod/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/zh/nivod/src/eu/kanade/tachiyomi/animeextension/zh/nivod/Filters.kt create mode 100644 src/zh/nivod/src/eu/kanade/tachiyomi/animeextension/zh/nivod/Nivod.kt create mode 100644 src/zh/nivod/src/eu/kanade/tachiyomi/animeextension/zh/nivod/NivodDTO.kt diff --git a/src/zh/nivod/build.gradle b/src/zh/nivod/build.gradle new file mode 100644 index 00000000..9e2a6e3b --- /dev/null +++ b/src/zh/nivod/build.gradle @@ -0,0 +1,7 @@ +ext { + extName = 'Nivod' + extClass = '.Nivod' + extVersionCode = 1 +} + +apply from: "$rootDir/common.gradle" diff --git a/src/zh/nivod/res/mipmap-hdpi/ic_launcher.png b/src/zh/nivod/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..0c6171bcdb31eef28fdfcea99ceab0114a60f59e GIT binary patch literal 4215 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 FV1g5tO1J<3 literal 0 HcmV?d00001 diff --git a/src/zh/nivod/res/mipmap-xhdpi/ic_launcher.png b/src/zh/nivod/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..90699f120f681868f966d8974c3b63be1f244513 GIT binary patch literal 6151 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 Z{};(7E^qZ@VP60M002ovPDHLkV1l|U&9?vm literal 0 HcmV?d00001 diff --git a/src/zh/nivod/res/mipmap-xxhdpi/ic_launcher.png b/src/zh/nivod/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..76bbfde14d8ac25b7f601ac22fa4554faa289e7e GIT binary patch literal 11857 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 literal 0 HcmV?d00001 diff --git a/src/zh/nivod/res/mipmap-xxxhdpi/ic_launcher.png b/src/zh/nivod/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b671a4d9d0f2ecad1a4cbfd4041016c3147604a2 GIT binary patch literal 17740 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 XqaUfwKUl7>00000NkvXXu0mjf;4sq( literal 0 HcmV?d00001 diff --git a/src/zh/nivod/src/eu/kanade/tachiyomi/animeextension/zh/nivod/Filters.kt b/src/zh/nivod/src/eu/kanade/tachiyomi/animeextension/zh/nivod/Filters.kt new file mode 100644 index 00000000..d2a9bb4c --- /dev/null +++ b/src/zh/nivod/src/eu/kanade/tachiyomi/animeextension/zh/nivod/Filters.kt @@ -0,0 +1,38 @@ +package eu.kanade.tachiyomi.animeextension.zh.nivod + +import eu.kanade.tachiyomi.animesource.model.AnimeFilter +import kotlinx.serialization.Serializable + +open class QueryFilter( + name: String, + private val options: List>, + val key: String, +) : + AnimeFilter.Select(name, options.map { it.first }.toTypedArray()) { + val selected: String + get() = options[state].second +} + +class ChannelFilter : QueryFilter( + "分类", + listOf( + "动漫" to "anime", + "电影" to "movie", + "电视剧" to "tv", + "综艺" to "show", + ), + "channel", +) + +class YearFilter(options: List>) : QueryFilter("年份", options, "year") + +class TypeFilter(options: List>) : QueryFilter("类型", options, "showtype") + +class RegionFilter(options: List>) : QueryFilter("地区", options, "region") + +@Serializable +internal class FilterConfig( + val regions: Map, + val types: Map, + val years: Map, +) diff --git a/src/zh/nivod/src/eu/kanade/tachiyomi/animeextension/zh/nivod/Nivod.kt b/src/zh/nivod/src/eu/kanade/tachiyomi/animeextension/zh/nivod/Nivod.kt new file mode 100644 index 00000000..894cce2d --- /dev/null +++ b/src/zh/nivod/src/eu/kanade/tachiyomi/animeextension/zh/nivod/Nivod.kt @@ -0,0 +1,308 @@ +package eu.kanade.tachiyomi.animeextension.zh.nivod + +import android.app.Application +import android.content.SharedPreferences +import eu.kanade.tachiyomi.animesource.model.AnimeFilter +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.AnimeHttpSource +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.util.asJsoup +import eu.kanade.tachiyomi.util.parseAs +import kotlinx.serialization.encodeToString +import kotlinx.serialization.json.Json +import okhttp3.HttpUrl.Companion.toHttpUrl +import okhttp3.Request +import okhttp3.Response +import org.jsoup.nodes.Element +import uy.kohesive.injekt.Injekt +import uy.kohesive.injekt.api.get +import uy.kohesive.injekt.injectLazy +import java.net.URLEncoder +import java.util.Calendar + +class Nivod : AnimeHttpSource() { + override val baseUrl: String + get() = "https://www.nivod.cc" + override val lang: String + get() = "zh" + override val name: String + get() = "泥视频" + override val supportsLatest: Boolean + get() = true + + private val json by injectLazy() + private val preferences: SharedPreferences by lazy { + Injekt.get().getSharedPreferences("source_$id", 0x0000) + } + + override fun animeDetailsParse(response: Response): SAnime { + val doc = response.asJsoup() + return SAnime.create().apply { + thumbnail_url = baseUrl + doc.select(".left-img-c img").attr("src") + title = doc.select(".right-title").text() + genre = + doc.select(".right-label-c .right-label").joinToString { it.text() } + author = doc.select(".right-type-c:nth-child(4) .right-label").text() + artist = doc.select(".right-type-c:nth-child(5) .right-label").text() + description = doc.select(".right-type-c:nth-child(6) .right-label").text() + } + } + + override fun episodeListParse(response: Response): List { + val doc = response.asJsoup() + return doc.select(".list-ruku a").map { + SEpisode.create().apply { + url = it.attr("href") + name = it.select(".item").text() + } + } + } + + override fun videoListRequest(episode: SEpisode): Request { + val doc = client.newCall(super.videoListRequest(episode)).execute().asJsoup() + val path = doc.selectFirst("script:containsData(xhr_playinfo)")!!.data() + .substringAfter("url = '").substringBefore("'") + return GET(baseUrl + path) + } + + override fun videoListParse(response: Response): List