Optimize anime identity
This commit is contained in:
parent
5f7ce25b5a
commit
9af8599fad
|
@ -190,6 +190,11 @@ namespace Jellyfin.Plugin.MetaShark.Test
|
|||
Assert.AreEqual(parseResult.ParentIndexNumber, null);
|
||||
Assert.AreEqual(parseResult.IndexNumber, 1);
|
||||
|
||||
fileName = "[異域字幕組][她和她的貓 - Everything Flows -][She and Her Cat - Everything Flows -][01][720p][繁體]";
|
||||
parseResult = NameParser.Parse(fileName);
|
||||
Assert.AreEqual(parseResult.Name, "她和她的貓 - Everything Flows");
|
||||
Assert.AreEqual(parseResult.ParentIndexNumber, null);
|
||||
Assert.AreEqual(parseResult.IndexNumber, 1);
|
||||
|
||||
// anime特典
|
||||
fileName = "[KissSub][Steins;Gate][SP][GB_BIG5_JP][BDrip][1080P][HEVC] 边界曲面的缺失之环";
|
||||
|
|
|
@ -18,6 +18,8 @@ namespace Jellyfin.Plugin.MetaShark.Core
|
|||
|
||||
private static readonly Regex fixSeasonNumberReg = new Regex(@"(\[|\.)S(\d{1,2})(\]|\.)", RegexOptions.Compiled | RegexOptions.IgnoreCase);
|
||||
|
||||
private static readonly Regex startWithHyphenCharReg = new Regex(@"^[-~~]", RegexOptions.Compiled);
|
||||
|
||||
public static ParseNameResult Parse(string fileName, bool isTvSeries = false)
|
||||
{
|
||||
var parseResult = new ParseNameResult();
|
||||
|
@ -35,7 +37,7 @@ namespace Jellyfin.Plugin.MetaShark.Core
|
|||
{
|
||||
var firstString = item.Value.Substring(0, firstSpaceIndex);
|
||||
var lastString = item.Value.Substring(firstSpaceIndex + 1);
|
||||
if (firstString.HasChinese() && !lastString.HasChinese())
|
||||
if (firstString.HasChinese() && !lastString.HasChinese() && !startWithHyphenCharReg.IsMatch(lastString))
|
||||
{
|
||||
parseResult.ChineseName = CleanName(firstString);
|
||||
parseResult.Name = CleanName(lastString);
|
||||
|
|
|
@ -139,7 +139,7 @@ namespace Jellyfin.Plugin.MetaShark.Providers
|
|||
var fileName = Path.GetFileNameWithoutExtension(info.Path) ?? info.Name;
|
||||
var parseResult = NameParser.Parse(fileName);
|
||||
info.Year = parseResult.Year;
|
||||
info.Name = parseResult.Name;
|
||||
info.Name = parseResult.ChineseName ?? parseResult.Name;
|
||||
|
||||
// 没有season级目录或文件命名不规范时,ParentIndexNumber会为null
|
||||
if (info.ParentIndexNumber is null)
|
||||
|
|
Loading…
Reference in New Issue