Optimize parse name

This commit is contained in:
cxfksword 2023-01-05 21:48:01 +08:00
parent ab4e3ea873
commit 88ed0e2cd5
2 changed files with 20 additions and 2 deletions

View File

@ -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);

View File

@ -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;