mirror of
https://github.com/revenz/FileFlowsPlugins.git
synced 2025-12-30 22:40:17 -06:00
FF-1524: Added more comic options
This commit is contained in:
@@ -187,6 +187,10 @@ public class CreateComicInfo : Node
|
||||
{
|
||||
name += " - Annual " + info.Number;
|
||||
}
|
||||
else if (info.Number > 1960)
|
||||
{
|
||||
name += " - " + info.Number;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Pad the number with leading zeros based on the specified number of digits
|
||||
@@ -234,8 +238,9 @@ public class CreateComicInfo : Node
|
||||
|
||||
var yearMatch = Regex.Match(info.Series, @"\((?<year>(19|20)\d{2})\)");
|
||||
int? year = null;
|
||||
bool yearInFolder = yearMatch.Success;
|
||||
|
||||
if (yearMatch.Success)
|
||||
if (yearInFolder)
|
||||
{
|
||||
year = int.Parse(yearMatch.Groups["year"].Value);
|
||||
info.Volume = year.ToString();
|
||||
@@ -272,6 +277,12 @@ public class CreateComicInfo : Node
|
||||
info.Number = year.Value;
|
||||
return info;
|
||||
}
|
||||
|
||||
if (year != null && yearInFolder == false)
|
||||
{
|
||||
info.Number = year;
|
||||
return info;
|
||||
}
|
||||
return Result<ComicInfo>.Fail("Invalid filename: " + shortname);
|
||||
}
|
||||
|
||||
|
||||
@@ -229,6 +229,58 @@ public class ComicInfoTests : TestBase
|
||||
Assert.AreEqual("X-Man - Annual 2004.cbz", name.Value);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void AnnualNoAnnual()
|
||||
{
|
||||
var result = CreateComicInfo.GetInfo(Logger,
|
||||
"/home/john/Comics/Marvel/X-Men/X-Man/X-Man 2004.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(2004, 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 - 2004.cbz", name.Value);
|
||||
}
|
||||
|
||||
|
||||
[TestMethod]
|
||||
public void AnnualNoAnnual2()
|
||||
{
|
||||
var result = CreateComicInfo.GetInfo(Logger,
|
||||
"/home/john/Comics/Zenoscope/Grimm Fairy Tales Specials/Grimm Fairy Tales 2016 Special (2016) (Digital).cbz",
|
||||
"/home/john/Comics",
|
||||
true);
|
||||
|
||||
TestContext.WriteLine(Logger.ToString());
|
||||
|
||||
Assert.IsFalse(result.IsFailed);
|
||||
var info = result.Value;
|
||||
Assert.IsNotNull(info);
|
||||
Assert.AreEqual("Zenoscope", info.Publisher);
|
||||
Assert.AreEqual("Grimm Fairy Tales Specials", info.Series);
|
||||
Assert.AreEqual(2016, 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("Grimm Fairy Tales Specials - 2016.cbz", name.Value);
|
||||
}
|
||||
// [TestMethod]
|
||||
public void PhysicalFileTest()
|
||||
{
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Reference in New Issue
Block a user