ani icon indicating copy to clipboard operation
ani copied to clipboard

剧集分组支持正片外的其它剧集

Open chivehao opened this issue 1 year ago • 5 comments

子问题:

  • #869
  • #871

建议内容

剧集分组支持正片外的其它剧集,举个例子CLANNAD:

番组计划是有个23集的,但是因为不是正片,ani里找不到

番组计划条目 W$7TI8C`80%5N7W7$WL_(HJ

ani @P6(UXG_L183WONA36` 7GE

建议:除了正片外,添加个比如Others的其它分组, 从番组计划拉取SP + 从数据源获取的数据源定义的番组计划没有的其它分组剧集

当前 Ani 版本号

3.2.0

操作系统

Windows

chivehao avatar Jun 25 '24 13:06 chivehao

提過了 #386

NeKoOuO avatar Jun 25 '24 14:06 NeKoOuO

SP 剧集我看了一下, 允许获取比较简单, 但是要让整个 ani 全面支持比较麻烦, 你如果想要可以自己打个 patch

Subject: [PATCH] SP 剧集 (WIP)
---
Index: app/shared/src/commonMain/kotlin/data/repositories/BangumiEpisodeRepository.kt
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/app/shared/src/commonMain/kotlin/data/repositories/BangumiEpisodeRepository.kt b/app/shared/src/commonMain/kotlin/data/repositories/BangumiEpisodeRepository.kt
--- a/app/shared/src/commonMain/kotlin/data/repositories/BangumiEpisodeRepository.kt	(revision a692e1dd9ab69edafae33a56251a972627d456b8)
+++ b/app/shared/src/commonMain/kotlin/data/repositories/BangumiEpisodeRepository.kt	(date 1719870036924)
@@ -10,6 +10,7 @@
 import me.him188.ani.datasources.api.EpisodeSort
 import me.him188.ani.datasources.api.paging.PageBasedPagedSource
 import me.him188.ani.datasources.api.paging.Paged
+import me.him188.ani.datasources.api.paging.filter
 import me.him188.ani.datasources.bangumi.BangumiClient
 import me.him188.ani.datasources.bangumi.models.BangumiEpType
 import me.him188.ani.datasources.bangumi.models.BangumiEpisode
@@ -83,7 +84,6 @@
             try {
                 client.api.getUserSubjectEpisodeCollection(
                     subjectId,
-                    episodeType = type,
                     offset = page * 100,
                     limit = 100,
                 ).body().run {
@@ -96,6 +96,8 @@
                 logger.warn("Exception in getSubjectEpisodeCollection", e)
                 null
             }
+        }.filter {
+            it.episode.type == 0 || it.episode.type == 1 // 本篇和SP
         }
         return episodes.results
     }

Him188 avatar Jul 01 '24 21:07 Him188

全面支持需要考虑:

  • BT 搜资源
  • 测试 L1 对 SP 的支持 #382
  • file selector 的支持
  • 选集播放里如何显示 SP
  • 播放器内剧集列表如何显示 SP
  • 标记看完时会弹窗选择设置所有剧集是否看过, 此时是否应当也设置 SP 为看过?
  • 序号会不会冲突, 例如正片 01 和 SP 01

Him188 avatar Jul 01 '24 21:07 Him188

怎么说呢,我的建议是直接在Media,加个字段比如isMain代表是否是正片。

  • BT 搜资源:直接忽略
  • file selector 的支持:正常剧集怎么选就怎么选
  • 选集播放里如何显示,正片放正片一栏,其它的放其它一栏
  • 播放器内剧集列表如何显示 SP:同上
  • 标记看完时会弹窗选择设置所有剧集是否看过, 此时是否应当也设置 SP 为看过?:不建议,这个可以加个可选配置,让用户自己选
  • 序号会不会冲突, 例如正片 01 和 SP 01:判断序号时,同时加上 isMain 的判断,类似联合主键

chivehao avatar Jul 17 '24 13:07 chivehao

EpisodeSort 支持 SP

Him188 avatar Jul 17 '24 13:07 Him188

测试: 史莱姆的 SP 23.5 之类的可以正常播放.

Him188 avatar Apr 10 '25 22:04 Him188

去年6月份提的issue,我都快忘了

chivehao avatar Apr 10 '25 22:04 chivehao