fix: keep platform words in media titles

This commit is contained in:
jxxghp
2026-05-27 07:41:44 +08:00
parent 1f7fb304dd
commit b6ffd286fe
3 changed files with 9 additions and 2 deletions

View File

@@ -56,7 +56,7 @@ class MetaVideo(MetaBase):
_name_se_words = ['', '', '', '', '', '', '']
_name_movie_words = ['剧场版', '劇場版', '电影版', '電影版']
_name_nostring_re = r"^PTS|^JADE|^AOD|^CHC|^[A-Z]{1,4}TV[\-0-9UVHDK]*" \
r"|HBO$|\s+HBO|\d{1,2}th|\d{1,2}bit|NETFLIX|AMAZON|IMAX|^3D|\s+3D|^BBC\s+|\s+BBC|BBC$|DISNEY\+?|XXX|\s+DC$" \
r"|\d{1,2}th|\d{1,2}bit|IMAX|^3D|\s+3D|XXX|\s+DC$" \
r"|[第\s共]+[0-9一二三四五六七八九十\-\s]+季" \
r"|[第\s共]+[0-9一二三四五六七八九十百零\-\s]+[集话話]" \
r"|连载|日剧|美剧|电视剧|动画片|动漫|欧美|西德|日韩|超高清|高清|无水印|下载|蓝光|翡翠台|梦幻天堂·龙网|★?\d*月?新番" \

View File

@@ -1,5 +1,5 @@
Cython~=3.1.2
moviepilot-rust~=0.1.4
moviepilot-rust~=0.1.5
pydantic>=2.0.0,<3.0.0
pydantic-settings>=2.0.0,<3.0.0
SQLAlchemy~=2.0.41

View File

@@ -175,6 +175,13 @@ class MetaInfoTest(TestCase):
self.assertEqual(meta.video_encode, "X264")
self.assertEqual(meta.video_bit, "10bit")
def test_streaming_platform_word_kept_in_movie_title(self):
"""测试正式片名中的流媒体平台词不会被预置清理规则移除"""
with patch("app.core.metainfo.rust_accel.parse_metainfo", return_value=None):
meta = MetaInfo(title="Amazon Forever 2004 1080p WEB-DL")
self.assertEqual(meta.name, "Amazon Forever")
self.assertEqual(meta.year, "2004")
def test_emby_tmdbid_overrides_braced_metainfo_tmdbid(self):
"""
同时存在内嵌元信息和 Emby [tmdbid] 标签时,保持历史上的 [tmdbid] 优先级。