mirror of
https://github.com/revenz/FileFlowsPlugins.git
synced 2025-12-31 03:50:25 -06:00
FF-1524: Added more comic options
This commit is contained in:
@@ -339,7 +339,8 @@ public class ComicConverter: Node
|
||||
|
||||
var metadata = new Dictionary<string, object>();
|
||||
metadata.Add("Format", format);
|
||||
metadata.Add("Pages", GetPageCount(args, format, file));
|
||||
if(GetPageCount(args, format, file).Success(out var count))
|
||||
metadata.Add("Pages", count);
|
||||
args.SetMetadata(metadata);
|
||||
args.Logger?.ILog("Setting metadata: " + format);
|
||||
|
||||
|
||||
@@ -235,6 +235,11 @@ public class CreateComicInfo : Node
|
||||
// Publisher / Series (year?) / Title - #number (of #)- Issue Title.extension
|
||||
ComicInfo info = new();
|
||||
info.Series = FileHelper.GetDirectoryName(libraryFile);
|
||||
if (info.Series.ToLowerInvariant() is "annuals" or "specials")
|
||||
{
|
||||
// go up one more directory
|
||||
info.Series = FileHelper.GetDirectoryName(FileHelper.GetDirectory(libraryFile));
|
||||
}
|
||||
|
||||
var yearMatch = Regex.Match(info.Series, @"\((?<year>(19|20)\d{2})\)");
|
||||
int? year = null;
|
||||
|
||||
@@ -255,7 +255,59 @@ public class ComicInfoTests : TestBase
|
||||
Assert.AreEqual("X-Man - 2004.cbz", name.Value);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void AnnualsFolder()
|
||||
{
|
||||
var result = CreateComicInfo.GetInfo(Logger,
|
||||
"/home/john/Comics/Marvel/X-Men/X-Man/Annuals/X-Man Annual 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("Annual", info.Volume);
|
||||
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 - Annual 2004.cbz", name.Value);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void SpecialsFolder()
|
||||
{
|
||||
var result = CreateComicInfo.GetInfo(Logger,
|
||||
"/home/john/Comics/Marvel/X-Men/X-Man/Specials/X-Man Annual 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("Annual", info.Volume);
|
||||
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 - Annual 2004.cbz", name.Value);
|
||||
}
|
||||
[TestMethod]
|
||||
public void AnnualNoAnnual2()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user