Files
rootandClaude Opus 5.5 36dc048e89 feat(parser,sites): W5-D port title/zhconv/site parsing gaps found by MP differential
Title recognition (parseRelease / parseReleasePath):
- anime prefix tags (★N月新番, [国漫], 【22年日剧】), category lead bracket, `A / B` cn aliases
- `Name [01]`, `[TV 04]`, `#13`, `名称 12.mkv`, `S01 13-14`, `E13-14` episodes
- lead bracket as title vs group, trailing [Group], YTS.MX/Hall_of_C style groups, 字幕组 suffix
- `[dot.release.name][…]` unbracketing, `Season 2017` as year, leading date not airDate,
  date-only parent dir does not merge as TV
- original disc: Blu-ray + AVC/HEVC/VC-1/MPEG-2 without x26x/H.26x -> BluRay-Disc
- `{[tmdbid=;type=;s=;e=]}` explicit block, bangumi/anilist ids
- bare [1080]/[5.1], DTS-HD MA5.1, £ multi-group, 合集, pinyin title -> cn from subtitle,
  streaming platform table, CHS/CHT/GB/BIG5 in subtitle
zh-map: add 迴滾魷瑯臥駭; document one-to-many chars kept out.
Sites: tbody branch + header-row tightening via movieclaw-import rowSelector (18 definitions),
row-level case/hr/labels include the row itself, subtitle branch (searchType: "subtitles"),
parseSizeMp banker's rounding.
Differential snapshots regenerated; MP test sample sources registered in ledger.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-27 23:09:14 +08:00

75 lines
3.4 KiB
JSON

{
"$comment": "未在文件头打 @mp-source 标签的既有移植(W1-3a/W1-3b 及 sites 目录外文件)的人工对照;build-ledger.mjs 与源码标签合并生成 ledger.json。",
"moviepilot": [
{
"upstream": "app/modules/indexer/spider/__init__.py",
"ours": [
"packages/adapters/src/sites/spider/spider.ts",
"packages/adapters/src/sites/spider/schema.ts",
"packages/adapters/src/sites/spider/map.ts",
"packages/adapters/src/sites/spider/template.ts"
]
},
{
"upstream": "app/modules/indexer/spider/mtorrent.py",
"ours": [
"packages/adapters/src/sites/mteam/spider.ts",
"packages/adapters/src/sites/mteam/adapter.ts",
"packages/adapters/src/sites/mteam/client.ts"
]
},
{
"upstream": "app/modules/indexer/__init__.py",
"ours": ["packages/adapters/src/sites/spider/adapter.ts", "packages/adapters/src/sites/registry.ts"]
},
{
"upstream": "app/chain/download/submission.py",
"ours": ["packages/adapters/src/sites/spider/adapter.ts", "packages/adapters/src/sites/mteam/adapter.ts"]
},
{
"upstream": "app/application/site/sites.pyi",
"ours": [
"packages/adapters/src/sites/spider/schema.ts",
"packages/adapters/src/sites/definitions/schema.ts",
"packages/adapters/src/sites/registry.ts"
]
},
{ "upstream": "app/foundation/size.py", "ours": ["packages/adapters/src/sites/spider/spider.ts"] },
{
"upstream": "app/application/rss.py",
"ours": [
"packages/adapters/src/rss/fetch.ts",
"packages/adapters/src/rss/parse.ts",
"packages/adapters/src/rss/rss-link.ts"
]
},
{
"upstream": "app/modules/qbittorrent/qbittorrent.py",
"ours": ["packages/adapters/src/qbittorrent/client.ts", "packages/adapters/src/qbittorrent/state.ts"]
},
{ "upstream": "app/modules/_base/downloader.py", "ours": ["packages/adapters/src/qbittorrent/torrent.ts"] },
{ "upstream": "app/modules/__init__.py", "ours": ["packages/adapters/src/qbittorrent/paths.ts"] },
{
"upstream": "app/modules/themoviedb/tmdbapi.py",
"ours": ["packages/adapters/src/tmdb/client.ts", "packages/adapters/src/tmdb/match.ts"]
},
{
"upstream": "app/modules/filemanager/storages/local.py",
"ours": ["packages/adapters/src/fs/copy.ts", "packages/adapters/src/fs/move.ts"]
},
{ "upstream": "app/modules/filemanager/transhandler.py", "ours": ["packages/adapters/src/fs/move.ts"] },
{ "upstream": "app/modules/emby/emby.py", "ours": ["packages/adapters/src/emby/client.ts"] },
{ "upstream": "app/application/mediaserver.py", "ours": ["packages/adapters/src/emby/client.ts"] },
{
"upstream": "tests/cases/meta.py",
"ours": ["packages/domain/test/differential/meta-samples.json", "packages/domain/test/differential/meta-mp.json"],
"note": "MP 自带标题识别用例:76 条标题字符串作差分输入语料(事实数据,不复制断言代码);上游变化时核对新增/修改的用例并重跑 gen-differential.py meta"
},
{
"upstream": "tests/test_rust_accel.py",
"ours": ["scripts/mp-sync/gen-differential.py", "packages/adapters/test/differential/indexer.json"],
"note": "字幕页 HTML 与字幕字段配置取自 test_rust_subtitle_parser_is_several_times_faster_than_python,作 hhanclub-subtitles@inline 差分样本"
}
]
}