Files
rootandClaude Opus 5.5 8c4c7d028a feat(scrape): 多集文件写多个 episodedetails 块,综艺日期期数按播出日期对集
- 多集文件(文件名 E01-E02 或覆盖多个集单元)按 Kodi 约定在一个 NFO 里每集写一块,MP 只写首集,偏离登记在 nfo-deviations.json;
- 综艺按日期命名的期数按本地季表或 TMDB 季详情的播出日期对上集,写季号、集号与 aired,不再 scrape_no_episode 跳过;
- 认不出集号、集数待确认的跳过让记录记部分完成(已存在 / 没变 / 被人改过仍算完成)。

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_01Cxwgnn2pbzQ7rXv3rq7fei
2026-10-03 23:13:47 +08:00

76 lines
2.5 KiB
JSON

{
"_note": "SCR-1 NFO 与 MP 的已登记差异(按样例、按元素)。测试先去掉双方的空元素(MP 缺值写 <x/>、空 CDATA、评分 0,我们不写),再去掉这里登记的元素后逐行比较;登记的元素必须确实不同,差异消除后删掉登记。",
"deviations": [
{
"case": "movie",
"tag": "studio",
"reason": "本地不存 TMDB production_companies,电影不写出品公司(Emby / Jellyfin 刷新时会自己补)"
},
{
"case": "movie",
"tag": "country",
"reason": "制片国取 TMDB origin_country(代码转中文名);MP 取 production_countries(本例多一个英国)"
},
{
"case": "movie",
"tag": "tagline",
"reason": "我们额外写标语,MP 不写"
},
{
"case": "tvshow",
"tag": "studio",
"reason": "剧集写播出平台(TMDB networks,本例 Apple TV+);MP 写出品公司 production_companies"
},
{
"case": "s01e01",
"tag": "uniqueid",
"reason": "本地不存 TMDB 集 id,集 NFO 不写 uniqueid,媒体服务器按季号集号匹配"
},
{
"case": "s01e01",
"tag": "tmdbid",
"reason": "同上"
},
{
"case": "s01e01",
"tag": "runtime",
"reason": "我们额外写集时长,MP 不写"
},
{
"case": "s01e02",
"tag": "uniqueid",
"reason": "同 s01e01"
},
{
"case": "s01e02",
"tag": "tmdbid",
"reason": "同 s01e01"
},
{
"case": "s01e02",
"tag": "runtime",
"reason": "同 s01e01"
}
],
"images": [
{
"role": "movie poster / fanart",
"mp": "poster.jpg、backdrop.jpg、fanart.jpg(作品目录)",
"ours": "poster.jpg、fanart.jpg",
"reason": "backdrop.jpg 是 fanart.jpg 的副本,Emby / Jellyfin / Kodi 都认 fanart.jpg,不写重复文件"
},
{
"role": "episode thumb",
"mp": "<视频名>.jpg",
"ours": "<视频名>-thumb.jpg",
"reason": "Kodi 约定 -thumb 后缀;Jellyfin / Emby 同样识别,且不会和同名海报规则冲突"
}
],
"multiEpisode": {
"case": "s01e01-e02(一个文件覆盖第 1、2 集)",
"mp": "只按首集(begin_episode)写一个 <episodedetails>,与 s01e01 相同",
"ours": "按 Kodi 多集约定写两个 <episodedetails> 块:第一块同 s01e01,第二块同 s01e02(各自的已登记差异照旧)",
"reason": "只写首集时 Kodi 只显示第一集,第二集在媒体库里缺失;Jellyfin / Emby 也读多块 NFO"
}
}