diff --git a/Jellyfin.Plugin.MetaShark.Test/ParseNameTest.cs b/Jellyfin.Plugin.MetaShark.Test/ParseNameTest.cs index 14ec431..ba12dc9 100644 --- a/Jellyfin.Plugin.MetaShark.Test/ParseNameTest.cs +++ b/Jellyfin.Plugin.MetaShark.Test/ParseNameTest.cs @@ -42,6 +42,10 @@ namespace Jellyfin.Plugin.MetaShark.Test Console.WriteLine(parseResult.ToJson()); // 只英文 + fileName = "A.Chinese.Odyssey.Part.1.1995.BluRay.1080p.x265.10bit.2Audio-MiniHD"; + parseResult = NameParser.Parse(fileName); + Console.WriteLine(parseResult.ToJson()); + fileName = "New.World.2013.BluRay.1080p.x265.10bit.MNHD-FRDS"; parseResult = NameParser.Parse(fileName); Console.WriteLine(parseResult.ToJson()); @@ -50,6 +54,8 @@ namespace Jellyfin.Plugin.MetaShark.Test parseResult = NameParser.Parse(fileName); Console.WriteLine(parseResult.ToJson()); + + // 标题加年份 fileName = "V字仇杀队 (2006)"; parseResult = NameParser.Parse(fileName); diff --git a/Jellyfin.Plugin.MetaShark/Core/NameParser.cs b/Jellyfin.Plugin.MetaShark/Core/NameParser.cs index 1ec9800..3e91ebb 100644 --- a/Jellyfin.Plugin.MetaShark/Core/NameParser.cs +++ b/Jellyfin.Plugin.MetaShark/Core/NameParser.cs @@ -73,6 +73,18 @@ namespace Jellyfin.Plugin.MetaShark.Core break; } } + + // 假如Anitomy解析不到year,尝试使用jellyfin默认parser,看能不能解析成功 + if (parseResult.Year == null) + { + var nativeParseResult = ParseMovie(fileName); + if (nativeParseResult.Year != null) + { + parseResult = nativeParseResult; + } + } + + // 解析不到title时,使用默认名 if (string.IsNullOrEmpty(parseResult.Name)) { parseResult.Name = fileName; @@ -100,12 +112,12 @@ namespace Jellyfin.Plugin.MetaShark.Core var result = Emby.Naming.Video.VideoResolver.CleanDateTime(fileName, nameOptions); if (Emby.Naming.Video.VideoResolver.TryCleanString(result.Name, nameOptions, out var cleanName)) { - parseResult.Name = cleanName; + parseResult.Name = CleanName(cleanName); parseResult.Year = result.Year; } else { - parseResult.Name = result.Name; + parseResult.Name = CleanName(result.Name); parseResult.Year = result.Year; } return parseResult;