diff --git a/ComicNodes/Comics/CreateComicInfo.cs b/ComicNodes/Comics/CreateComicInfo.cs index 9b71e160..762cc288 100644 --- a/ComicNodes/Comics/CreateComicInfo.cs +++ b/ComicNodes/Comics/CreateComicInfo.cs @@ -242,6 +242,8 @@ public class CreateComicInfo : Node parts = shortname.Split('#'); if (parts.Length < 2) { + // remove any junk + shortname = Regex.Replace(shortname, @"\s*\([^)]*\)\s*", " ").Trim(); var lastChanceMatch = Regex.Match(shortname, @"(\d)+$"); if(lastChanceMatch.Success) { diff --git a/ComicNodes/Tests/ComicInfoTests.cs b/ComicNodes/Tests/ComicInfoTests.cs index 25781651..4fade6b7 100644 --- a/ComicNodes/Tests/ComicInfoTests.cs +++ b/ComicNodes/Tests/ComicInfoTests.cs @@ -120,6 +120,32 @@ public class ComicInfoTests : TestBase } + [TestMethod] + public void NameAndNumber2() + { + var result = CreateComicInfo.GetInfo(Logger, + "/home/john/Comics/Marvel/X-Men/X-Man/X-Man 005 (1995) (digital) (Sierra-HD).cbz", + "/home/john/Comics", + true); + + TestContext.WriteLine(Logger.ToString()); + + Assert.IsFalse(result.IsFailed); + var info = result.Value; + Assert.IsNotNull(info); + Assert.AreEqual("Marvel", info.Publisher); + Assert.AreEqual("X-Man", info.Series); + Assert.AreEqual(5, info.Number); + + var xml = CreateComicInfo.SerializeToXml(info); + Assert.IsFalse(string.IsNullOrWhiteSpace(xml)); + TestContext.WriteLine(new string('-', 70)); + TestContext.WriteLine(xml); + + var name = CreateComicInfo.GetNewName(info, "cbz", 3); + Assert.AreEqual("X-Man - #005.cbz", name.Value); + } + [TestMethod] public void PhysicalFileTest() { diff --git a/FileFlows.Plugin.dll b/FileFlows.Plugin.dll index b976a0bc..d8888e4d 100644 Binary files a/FileFlows.Plugin.dll and b/FileFlows.Plugin.dll differ diff --git a/FileFlows.Plugin.pdb b/FileFlows.Plugin.pdb index 74c14c7d..6327aceb 100644 Binary files a/FileFlows.Plugin.pdb and b/FileFlows.Plugin.pdb differ