From b5b7fa17bb7b90f8b842d3ac919eff9d31f5b331 Mon Sep 17 00:00:00 2001 From: Moeta Yuko Date: Tue, 4 Mar 2025 11:31:39 +0800 Subject: [PATCH] feat: fall back to file-based matching for movies --- Jellyfin.Plugin.Danmu/LibraryManagerEventsHelper.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/Jellyfin.Plugin.Danmu/LibraryManagerEventsHelper.cs b/Jellyfin.Plugin.Danmu/LibraryManagerEventsHelper.cs index 4de37de..e58d474 100644 --- a/Jellyfin.Plugin.Danmu/LibraryManagerEventsHelper.cs +++ b/Jellyfin.Plugin.Danmu/LibraryManagerEventsHelper.cs @@ -279,11 +279,17 @@ public class LibraryManagerEventsHelper : IDisposable // 读取最新数据,要不然取不到年份信息 var currentItem = _libraryManager.GetItemById(item.Id) ?? item; - var mediaId = await scraper.SearchMediaId(currentItem); + var mediaId = await scraper.SearchMediaId(currentItem).ConfigureAwait(false); if (string.IsNullOrEmpty(mediaId)) { - _logger.LogInformation("[{0}]匹配失败:{1} ({2})", scraper.Name, item.Name, item.ProductionYear); - continue; + _logger.LogInformation("[{0}]元数据匹配失败:{1} ({2}),尝试文件匹配", scraper.Name, item.Name, item.ProductionYear); + + mediaId = await scraper.SearchMediaIdByFile((Movie)currentItem).ConfigureAwait(false); + if (string.IsNullOrEmpty(mediaId)) + { + _logger.LogInformation("[{0}]文件匹配失败:{1}", scraper.Name, currentItem.Path); + continue; + } } var media = await scraper.GetMedia(item, mediaId);