From 8c80ed090d73cf3d2c8e8fe40f3fa3566456f8e9 Mon Sep 17 00:00:00 2001 From: Joseph Milazzo Date: Sun, 27 Dec 2020 11:14:45 -0600 Subject: [PATCH] Added basic parsing and unit tests. Setting up an intermediate object to hold information from parser. Removed hangfire db from git. --- .gitignore | 4 +- API.Tests/API.Tests.csproj | 26 ++++ API.Tests/ParserTest.cs | 82 ++++++++++++ API/API.csproj | 4 + API/Controllers/AdminController.cs | 4 +- API/Controllers/UsersController.cs | 2 +- API/Hangfire-log.db | Bin 5398528 -> 0 bytes API/Hangfire.db | Bin 360448 -> 0 bytes API/Parser/Parser.cs | 200 +++++++++++++++++++++++++++++ API/Parser/ParserInfo.cs | 14 ++ API/Services/DirectoryService.cs | 4 +- API/appsettings.Development.json | 1 - Kavita.sln | 14 ++ 13 files changed, 347 insertions(+), 8 deletions(-) create mode 100644 API.Tests/API.Tests.csproj create mode 100644 API.Tests/ParserTest.cs delete mode 100644 API/Hangfire-log.db delete mode 100644 API/Hangfire.db create mode 100644 API/Parser/Parser.cs create mode 100644 API/Parser/ParserInfo.cs diff --git a/.gitignore b/.gitignore index 75589ba35..343c37b63 100644 --- a/.gitignore +++ b/.gitignore @@ -445,4 +445,6 @@ $RECYCLE.BIN/ appsettings.json /API/kavita.db /API/kavita.db-shm -/API/kavita.db-wal \ No newline at end of file +/API/kavita.db-wal +/API/Hangfire.db +/API/Hangfire-log.db \ No newline at end of file diff --git a/API.Tests/API.Tests.csproj b/API.Tests/API.Tests.csproj new file mode 100644 index 000000000..e19d7abc9 --- /dev/null +++ b/API.Tests/API.Tests.csproj @@ -0,0 +1,26 @@ + + + + net5.0 + + false + + + + + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + runtime; build; native; contentfiles; analyzers; buildtransitive + all + + + + + + + + diff --git a/API.Tests/ParserTest.cs b/API.Tests/ParserTest.cs new file mode 100644 index 000000000..6205eaa62 --- /dev/null +++ b/API.Tests/ParserTest.cs @@ -0,0 +1,82 @@ +using Xunit; +using static API.Parser.Parser; + +namespace API.Tests +{ + public class ParserTests + { + [Theory] + [InlineData("Killing Bites Vol. 0001 Ch. 0001 - Galactica Scanlations (gb)", "1")] + [InlineData("My Girlfriend Is Shobitch v01 - ch. 09 - pg. 008.png", "1")] + [InlineData("Historys Strongest Disciple Kenichi_v11_c90-98.zip", "11")] + [InlineData("B_Gata_H_Kei_v01[SlowManga&OverloadScans]", "1")] + [InlineData("BTOOOM! v01 (2013) (Digital) (Shadowcat-Empire)", "1")] + [InlineData("Gokukoku no Brynhildr - c001-008 (v01) [TrinityBAKumA]", "1")] + [InlineData("Dance in the Vampire Bund v16-17 (Digital) (NiceDragon)", "16-17")] + [InlineData("v001", "1")] + public void ParseVolumeTest(string filename, string expected) + { + var result = ParseVolume(filename); + Assert.Equal(expected, result); + } + + [Theory] + [InlineData("Killing Bites Vol. 0001 Ch. 0001 - Galactica Scanlations (gb)", "Killing Bites")] + [InlineData("My Girlfriend Is Shobitch v01 - ch. 09 - pg. 008.png", "My Girlfriend Is Shobitch")] + [InlineData("Historys Strongest Disciple Kenichi_v11_c90-98.zip", "Historys Strongest Disciple Kenichi")] + [InlineData("B_Gata_H_Kei_v01[SlowManga&OverloadScans]", "B Gata H Kei")] + [InlineData("BTOOOM! v01 (2013) (Digital) (Shadowcat-Empire)", "BTOOOM!")] + [InlineData("Gokukoku no Brynhildr - c001-008 (v01) [TrinityBAKumA]", "Gokukoku no Brynhildr")] + [InlineData("Dance in the Vampire Bund v16-17 (Digital) (NiceDragon)", "Dance in the Vampire Bund")] + [InlineData("v001", "")] + public void ParseSeriesTest(string filename, string expected) + { + var result = ParseSeries(filename); + Assert.Equal(expected, result); + } + + [Theory] + [InlineData("Killing Bites Vol. 0001 Ch. 0001 - Galactica Scanlations (gb)", "1")] + [InlineData("My Girlfriend Is Shobitch v01 - ch. 09 - pg. 008.png", "9")] + [InlineData("Historys Strongest Disciple Kenichi_v11_c90-98.zip", "90-98")] + [InlineData("B_Gata_H_Kei_v01[SlowManga&OverloadScans]", "")] + [InlineData("BTOOOM! v01 (2013) (Digital) (Shadowcat-Empire)", "")] + [InlineData("Gokukoku no Brynhildr - c001-008 (v01) [TrinityBAKumA]", "1-8")] + [InlineData("Dance in the Vampire Bund v16-17 (Digital) (NiceDragon)", "")] + [InlineData("c001", "1")] + public void ParseChaptersTest(string filename, string expected) + { + var result = ParseChapter(filename); + Assert.Equal(expected, result); + } + + + [Theory] + [InlineData("0001", "1")] + [InlineData("1", "1")] + [InlineData("0013", "13")] + public void RemoveLeadingZeroesTest(string input, string expected) + { + Assert.Equal(expected, RemoveLeadingZeroes(input)); + } + + [Theory] + [InlineData("1", "001")] + [InlineData("10", "010")] + [InlineData("100", "100")] + public void PadZerosTest(string input, string expected) + { + Assert.Equal(expected, PadZeros(input)); + } + + [Theory] + [InlineData("Hello_I_am_here", "Hello I am here")] + [InlineData("Hello_I_am_here ", "Hello I am here")] + [InlineData("[ReleaseGroup] The Title", "The Title")] + [InlineData("[ReleaseGroup]_The_Title", "The Title")] + public void CleanTitleTest(string input, string expected) + { + Assert.Equal(expected, CleanTitle(input)); + } + } +} \ No newline at end of file diff --git a/API/API.csproj b/API/API.csproj index cdd2f9198..c6a733fcd 100644 --- a/API/API.csproj +++ b/API/API.csproj @@ -32,4 +32,8 @@ + + + + diff --git a/API/Controllers/AdminController.cs b/API/Controllers/AdminController.cs index fa495b62e..2c2e64bd7 100644 --- a/API/Controllers/AdminController.cs +++ b/API/Controllers/AdminController.cs @@ -8,12 +8,10 @@ namespace API.Controllers { public class AdminController : BaseApiController { - private readonly IUserRepository _userRepository; private readonly UserManager _userManager; - public AdminController(IUserRepository userRepository, UserManager userManager) + public AdminController(UserManager userManager) { - _userRepository = userRepository; _userManager = userManager; } diff --git a/API/Controllers/UsersController.cs b/API/Controllers/UsersController.cs index 6102cc5e5..337d54959 100644 --- a/API/Controllers/UsersController.cs +++ b/API/Controllers/UsersController.cs @@ -38,7 +38,7 @@ namespace API.Controllers return BadRequest("Library name already exists. Please choose a unique name to the server."); } - // TODO: We probably need to clean the folders before we insert + // TODO: We probably need to normalize the folders before we insert var library = new Library { Name = createLibraryDto.Name.ToLower(), diff --git a/API/Hangfire-log.db b/API/Hangfire-log.db deleted file mode 100644 index d8fc774c2d02ba55e73ec5f9cf25a2af6b548193..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5398528 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 diff --git a/API/Parser/Parser.cs b/API/Parser/Parser.cs new file mode 100644 index 000000000..ee22771fb --- /dev/null +++ b/API/Parser/Parser.cs @@ -0,0 +1,200 @@ +using System; +using System.Text.RegularExpressions; + +namespace API.Parser +{ + public static class Parser + { + //?: is a non-capturing group in C#, else anything in () will be a group + private static readonly Regex[] MangaVolumeRegex = new[] + { + // Historys Strongest Disciple Kenichi_v11_c90-98.zip + new Regex( + + @"(?.*)(\b|_)v(?\d+)", + RegexOptions.IgnoreCase | RegexOptions.Compiled), + // Killing Bites Vol. 0001 Ch. 0001 - Galactica Scanlations (gb) + new Regex( + @"(vol. ?)(?0*[1-9]+)", + RegexOptions.IgnoreCase | RegexOptions.Compiled), + // Dance in the Vampire Bund v16-17 + new Regex( + + @"(?.*)(\b|_)v(?\d+-?\d+)", + RegexOptions.IgnoreCase | RegexOptions.Compiled), + new Regex( + @"(?:v)(?0*[1-9]+)", + RegexOptions.IgnoreCase | RegexOptions.Compiled), + + }; + + private static readonly Regex[] MangaSeriesRegex = new[] + { + // Gokukoku no Brynhildr - c001-008 (v01) [TrinityBAKumA], Black Bullet - v4 c17 [batoto] + new Regex( + + @"(?.*)( - )(?:v|vo|c)\d", + RegexOptions.IgnoreCase | RegexOptions.Compiled), + // Historys Strongest Disciple Kenichi_v11_c90-98.zip, Killing Bites Vol. 0001 Ch. 0001 - Galactica Scanlations (gb) + new Regex( + + @"(?.*)(\b|_)v", + RegexOptions.IgnoreCase | RegexOptions.Compiled), + + // Black Bullet + new Regex( + + @"(?.*)(\b|_)(v|vo|c)", + RegexOptions.IgnoreCase | RegexOptions.Compiled), + + // [BAA]_Darker_than_Black_c1 (This is very greedy, make sure it's always last) + new Regex( + @"(?.*)(\b|_)(c)", + RegexOptions.IgnoreCase | RegexOptions.Compiled), + + + }; + + private static readonly Regex[] ReleaseGroupRegex = new[] + { + // [TrinityBAKumA Finella&anon], [BAA]_, [SlowManga&OverloadScans], [batoto] + new Regex(@"(?:\[(?(?!\s).+?(?(?!\s).+?(?\d+-?\d*)", + RegexOptions.IgnoreCase | RegexOptions.Compiled), + }; + + public static string ParseSeries(string filename) + { + foreach (var regex in MangaSeriesRegex) + { + var matches = regex.Matches(filename); + foreach (Match match in matches) + { + if (match.Groups["Volume"] != Match.Empty) + { + return CleanTitle(match.Groups["Series"].Value); + } + + } + } + + Console.WriteLine("Unable to parse {0}", filename); + return ""; + } + + public static string ParseVolume(string filename) + { + foreach (var regex in MangaVolumeRegex) + { + var matches = regex.Matches(filename); + foreach (Match match in matches) + { + if (match.Groups["Volume"] != Match.Empty) + { + return RemoveLeadingZeroes(match.Groups["Volume"].Value); + } + + } + } + + Console.WriteLine("Unable to parse {0}", filename); + return ""; + } + + public static string ParseChapter(string filename) + { + foreach (var regex in MangaChapterRegex) + { + var matches = regex.Matches(filename); + foreach (Match match in matches) + { + if (match.Groups["Chapter"] != Match.Empty) + { + var value = match.Groups["Chapter"].Value; + + + if (value.Contains("-")) + { + var tokens = value.Split("-"); + var from = RemoveLeadingZeroes(tokens[0]); + var to = RemoveLeadingZeroes(tokens[1]); + return $"{from}-{to}"; + } + + return RemoveLeadingZeroes(match.Groups["Chapter"].Value); + } + + } + } + + return ""; + } + + /// + /// Translates _ -> spaces, trims front and back of string, removes release groups + /// + /// + /// + public static string CleanTitle(string title) + { + foreach (var regex in ReleaseGroupRegex) + { + var matches = regex.Matches(title); + foreach (Match match in matches) + { + if (match.Success) + { + title = title.Replace(match.Value, ""); + } + } + } + + title = title.Replace("_", " "); + return title.Trim(); + } + + + /// + /// Pads the start of a number string with 0's so ordering works fine if there are over 100 items. + /// Handles ranges (ie 4-8) -> (004-008). + /// + /// + /// A zero padded number + public static string PadZeros(string number) + { + if (number.Contains("-")) + { + var tokens = number.Split("-"); + return $"{PerformPadding(tokens[0])}-{PerformPadding(tokens[1])}"; + } + + return PerformPadding(number); + } + + private static string PerformPadding(string number) + { + var num = Int32.Parse(number); + return num switch + { + < 10 => "00" + num, + < 100 => "0" + num, + _ => number + }; + } + + public static string RemoveLeadingZeroes(string title) + { + return title.TrimStart(new Char[] { '0' }); + } + } +} \ No newline at end of file diff --git a/API/Parser/ParserInfo.cs b/API/Parser/ParserInfo.cs new file mode 100644 index 000000000..f2d8bcef4 --- /dev/null +++ b/API/Parser/ParserInfo.cs @@ -0,0 +1,14 @@ +using System.Collections.Generic; + +namespace API.Parser +{ + public class ParserInfo + { + // This can be multiple + public string Chapters { get; set; } + public string Series { get; set; } + // This can be multiple + public string Volume { get; set; } + public IEnumerable Files { get; init; } + } +} \ No newline at end of file diff --git a/API/Services/DirectoryService.cs b/API/Services/DirectoryService.cs index 8f09750b2..909d14faa 100644 --- a/API/Services/DirectoryService.cs +++ b/API/Services/DirectoryService.cs @@ -62,7 +62,7 @@ namespace API.Services }); } catch (ArgumentException) { - Console.WriteLine(@"The directory 'C:\Program Files' does not exist."); + _logger.LogError($"The directory '{folderPath}' does not exist"); } } } @@ -79,7 +79,7 @@ namespace API.Services var sw = Stopwatch.StartNew(); // Determine whether to parallelize file processing on each folder based on processor count. - int procCount = System.Environment.ProcessorCount; + int procCount = Environment.ProcessorCount; // Data structure to hold names of subfolders to be examined for files. Stack dirs = new Stack(); diff --git a/API/appsettings.Development.json b/API/appsettings.Development.json index 5d8c460c5..740eb4c1e 100644 --- a/API/appsettings.Development.json +++ b/API/appsettings.Development.json @@ -1,7 +1,6 @@ { "ConnectionStrings": { "DefaultConnection": "Data source=kavita.db", - "HangfireConnection": "Data source=hangfire.db" }, "TokenKey": "super secret unguessable key", "Logging": { diff --git a/Kavita.sln b/Kavita.sln index c1f023634..74927a34f 100644 --- a/Kavita.sln +++ b/Kavita.sln @@ -5,6 +5,8 @@ VisualStudioVersion = 15.0.26124.0 MinimumVisualStudioVersion = 15.0.26124.0 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "API", "API\API.csproj", "{1BC0273F-FEBE-4DA1-BC04-3A3167E4C86C}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "API.Tests", "API.Tests\API.Tests.csproj", "{6F7910F2-1B95-4570-A490-519C8935B9D1}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -30,5 +32,17 @@ Global {1BC0273F-FEBE-4DA1-BC04-3A3167E4C86C}.Release|x64.Build.0 = Release|Any CPU {1BC0273F-FEBE-4DA1-BC04-3A3167E4C86C}.Release|x86.ActiveCfg = Release|Any CPU {1BC0273F-FEBE-4DA1-BC04-3A3167E4C86C}.Release|x86.Build.0 = Release|Any CPU + {6F7910F2-1B95-4570-A490-519C8935B9D1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6F7910F2-1B95-4570-A490-519C8935B9D1}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6F7910F2-1B95-4570-A490-519C8935B9D1}.Debug|x64.ActiveCfg = Debug|Any CPU + {6F7910F2-1B95-4570-A490-519C8935B9D1}.Debug|x64.Build.0 = Debug|Any CPU + {6F7910F2-1B95-4570-A490-519C8935B9D1}.Debug|x86.ActiveCfg = Debug|Any CPU + {6F7910F2-1B95-4570-A490-519C8935B9D1}.Debug|x86.Build.0 = Debug|Any CPU + {6F7910F2-1B95-4570-A490-519C8935B9D1}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6F7910F2-1B95-4570-A490-519C8935B9D1}.Release|Any CPU.Build.0 = Release|Any CPU + {6F7910F2-1B95-4570-A490-519C8935B9D1}.Release|x64.ActiveCfg = Release|Any CPU + {6F7910F2-1B95-4570-A490-519C8935B9D1}.Release|x64.Build.0 = Release|Any CPU + {6F7910F2-1B95-4570-A490-519C8935B9D1}.Release|x86.ActiveCfg = Release|Any CPU + {6F7910F2-1B95-4570-A490-519C8935B9D1}.Release|x86.Build.0 = Release|Any CPU EndGlobalSection EndGlobal