feat: support TMDB episode group (g=) in explicit media tags and custom identifiers

- Add episode_group (g=) parameter parsing to explicit media tags in both Python and Rust metainfo parsers
- Propagate episode_group through MetaInfo, MetaBase, MediaInfo, and context models
- Update SKILL.md and update_custom_identifiers.py docs to describe episode group usage
- Add tests for episode_group recognition in metainfo and chain recognition logic
This commit is contained in:
jxxghp
2026-05-24 23:32:27 +08:00
parent ea52537423
commit ac3432c54f
10 changed files with 203 additions and 63 deletions

View File

@@ -223,6 +223,22 @@ def test_rust_metainfo_parser_handles_anime_from_entry():
assert result["audio_encode"] == "AAC"
def test_rust_metainfo_parser_handles_episode_group():
"""
Rust MetaInfo 入口应识别显式媒体标签中的 g 剧集组参数。
"""
group_id = "5ad0ec240e0a26303f00d84d"
result = rust_accel.parse_metainfo(
f"物语系列 {{[tmdbid=46195;type=tv;g={group_id};s=1]}} 01",
options=_metainfo_options(),
)
assert result["tmdbid"] == 46195
assert result["type"] == MediaType.TV.value
assert result["episode_group"] == group_id
assert result["begin_season"] == 1
def test_rust_metainfo_path_parser_merges_parent_title():
"""
Rust MetaInfoPath 入口应在 Rust 内完成父目录标题合并。