kookxiang / jellyfin-plugin-bangumi

bgm.tv plugin for jellyfin
GNU General Public License v2.0
585 stars 24 forks source link

Specials 匹配与正片重复的 SP 集数 #48

Closed wzyboy closed 1 year ago

wzyboy commented 1 year ago

比如炮姐,SP 的编号和正片编号是重复的:

每个条目都有 SP01 和 SP02,对应 MMR 这个小系列,一共 6 集。

本地目录结构(按照推荐把 SP 放在 Specials 子目录里):

とある科学の超電磁砲
├── [...]
└── Specials
    ├── 01.mkv
    └── 02.mkv
とある科学の超電磁砲S
├── [...]
└── Specials
    ├── 01.mkv
    └── 02.mkv
とある科学の超電磁砲T
├── [...]
└── Specials
    ├── 01.mkv
    └── 02.mkv

尽管 MMR 是放在 Specials 里,也被 Jellyfin 归到 Specials 季里,但是插件抓取到的 Bangumi Episode Id 和标题是正片部分的 01 和 02 集,而不是 SP01 和 SP02。

看了下 API 的返回,是有个 type 字段表示 episode 类型的,比如 0 是正片,1 是 SP 之类。也许可以考虑用这个来进行过滤,对于 Specials 目录里的文件,只匹配 type=1 的 episode。

wzyboy commented 1 year ago
https://api.bgm.tv/v0/episodes?subject_id=51928&type=1&limit=100&offset=0

看起来 type=1 的情况下,ep=0,转而用 sort 来表示集数?

{
  "data": [
    {
      "airdate": "2013-08-09",
      "name": "夏休みが終わったある日、美琴はとある少女と出逢う。これは奇跡の歌声を持つと呼ばれる彼女との物語",
      "name_cn": "暑假结束后的某日,美琴与某位少女相遇。这即是与被称为奇迹歌声少女的邂逅物语",
      "duration": "24m",
      "desc": "劇場版 とある魔術の禁書目録 「エンデュミオンの奇蹟」 特別版(冒頭22分+ダイジェスト)",
      "ep": 0,
      "sort": 17.5,
      "id": 256046,
      "subject_id": 51928,
      "comment": 10,
      "type": 1,
      "disc": 0,
      "duration_seconds": 1440
    },
    {
      "airdate": "2013-07-24",
      "name": "MMR Ⅲ 〜もっとまるっと超電磁砲Ⅲ〜",
      "name_cn": "MMR Ⅲ ~更多更完整的超电磁炮Ⅲ~",
      "duration": "00:08:49",
      "desc": "『とある科学の超電磁砲S』BD第一卷收录特典。\r\n\r\n①どこかで見たネタだなぁと思ったらシャナたんでやってましたね。すいません、作ってる途中で気づきました。まあ制作会社と担当編集が同じなのでいいよね。\r\n②本当に使える英語講座",
      "ep": 0,
      "sort": 1,
      "id": 307065,
      "subject_id": 51928,
      "comment": 12,
      "type": 1,
      "disc": 0,
      "duration_seconds": 529
    },
    {
      "airdate": "2013-11-27",
      "name": "MMR Ⅳ 〜もっとまるっと超電磁砲Ⅳ〜",
      "name_cn": "MMR Ⅳ ~更多更完整的超电磁炮Ⅳ~",
      "duration": "00:09:19",
      "desc": "『とある科学の超電磁砲S』BD第五卷收录特典。\r\n\r\n①あの時の黒猫さんは何処へ?\r\n②教えて!れーるがん!\r\nスッポンを食べると何故元気になるの?\r\n③学園都市、危うし!宇宙からの~",
      "ep": 0,
      "sort": 2,
      "id": 343432,
      "subject_id": 51928,
      "comment": 4,
      "type": 1,
      "disc": 0,
      "duration_seconds": 559
    }
  ],
  "total": 3,
  "limit": 100,
  "offset": 0
}
kookxiang commented 1 year ago

之前判断是否是 SP 的正则漏了 Specials,新版本应该 ok 了

wzyboy commented 1 year ago

这个正则是只匹配文件名还是会匹配完整路径中的任意部分?

我看了下我本地的 6.2 T 动画,压制组对 SP 的处理基本是以下两种:

kookxiang commented 1 year ago

会匹配完整路径,所以应该 OK 的 不过我这 macOS 下单测没事 Linux 下挂了就离谱