- 文件道任务 scrapeMedia:NFO 原子写入、图片经图片缓存下载(并发 4,失败不阻塞 NFO)、只补缺失 / 全部覆盖
- 设置 organize.scrapeAfterImport / scrapeMode / scrapeImages / scrapeEpisodeThumbs
- POST /library/{id}/scrape、详情 scrape 状态;files/scrape writeNfo 与 scrape-batch write 走同一任务
- 迁移 0057_media_scrape、原因码、审计 organize.scrape
- 与 MP 输出的 NFO 差分测试(apps/server/test/scrape)
Co-Authored-By: Claude Opus 5.5 <[email protected]>
70 lines
2.0 KiB
JSON
70 lines
2.0 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 同样识别,且不会和同名海报规则冲突"
|
|
}
|
|
]
|
|
}
|