feat: add video bit rename template field

This commit is contained in:
jxxghp
2026-05-20 18:20:18 +08:00
parent 7cc037c683
commit 8a375e022c
6 changed files with 100 additions and 0 deletions
+15
View File
@@ -132,6 +132,21 @@ class MetaInfoTest(TestCase):
self.assertEqual(meta.episode, "E04")
self.assertEqual(meta.apply_words, custom_words)
def test_video_bit_extracted_for_video_title(self):
"""测试普通影视标题中的视频位深可单独识别"""
meta = MetaInfo(title="The 355 2022 BluRay 1080p DTS-HD MA5.1 X265.10bit-BeiTai")
self.assertEqual(meta.video_encode, "x265 10bit")
self.assertEqual(meta.video_bit, "10bit")
def test_video_bit_extracted_for_anime_title(self):
"""测试动漫标题中的视频位深可单独识别"""
meta = MetaInfo(
title="[云歌字幕组][7月新番][欢迎来到实力至上主义的教室 第二季][01]"
"[X264 10bit][1080p][简体中文].mp4"
)
self.assertEqual(meta.video_encode, "X264")
self.assertEqual(meta.video_bit, "10bit")
def test_emby_tmdbid_overrides_braced_metainfo_tmdbid(self):
"""
同时存在内嵌元信息和 Emby [tmdbid] 标签时,保持历史上的 [tmdbid] 优先级。
+33
View File
@@ -67,6 +67,39 @@ class TemplateContextBuilderConcurrencyTest(unittest.TestCase):
# 第二次调用不应反向污染第一次的结果
self.assertEqual(first.get("marker"), 1)
def test_build_exposes_video_bit_from_meta(self):
"""
模板上下文应提供独立 videoBit 字段,避免用户只能从 videoCodec 中手工拆位深。
"""
meta = type("FakeMeta", (), {})()
meta.begin_episode = None
meta.title = "Movie.2024.1080p.x265.10bit.mkv"
meta.name = "Movie"
meta.en_name = "Movie"
meta.year = "2024"
meta.season_seq = ""
meta.season = ""
meta.episode_seqs = ""
meta.episode = ""
meta.part = None
meta.customization = None
meta.fps = None
meta.resource_type = None
meta.resource_effect = None
meta.edition = ""
meta.resource_pix = "1080p"
meta.resource_term = "1080p"
meta.resource_team = None
meta.video_encode = "x265 10bit"
meta.video_bit = "10bit"
meta.audio_encode = "AAC"
meta.web_source = None
context = TemplateContextBuilder().build(meta=meta)
self.assertEqual(context.get("videoCodec"), "x265 10bit")
self.assertEqual(context.get("videoBit"), "10bit")
if __name__ == "__main__":
unittest.main()