From 05bcc3e88eefd40437e416207afa0388a2554a58 Mon Sep 17 00:00:00 2001 From: Joe Milazzo Date: Sat, 28 Oct 2023 10:12:39 -0500 Subject: [PATCH] Polish for Release (#2357) --- API.Tests/Parser/MangaParserTests.cs | 4 ++++ API/Helpers/Builders/AppUserBuilder.cs | 10 ++-------- API/Services/SeriesService.cs | 2 ++ API/Services/Tasks/Scanner/Parser/Parser.cs | 4 ++++ .../src/app/_interceptors/error.interceptor.ts | 12 +++++++----- .../admin/invite-user/invite-user.component.html | 2 +- .../admin/invite-user/invite-user.component.ts | 8 ++++++-- .../manage-settings.component.html | 16 ++++++++-------- .../shared/_services/filter-utilities.service.ts | 4 ++-- UI/Web/src/assets/langs/en.json | 4 ++-- openapi.json | 2 +- 11 files changed, 39 insertions(+), 29 deletions(-) diff --git a/API.Tests/Parser/MangaParserTests.cs b/API.Tests/Parser/MangaParserTests.cs index cc1811292..f89a411e6 100644 --- a/API.Tests/Parser/MangaParserTests.cs +++ b/API.Tests/Parser/MangaParserTests.cs @@ -200,6 +200,10 @@ public class MangaParserTests [InlineData("Accel World Chapter 001 Volume 002", "Accel World")] [InlineData("Bleach 001-003", "Bleach")] [InlineData("Accel World Volume 2", "Accel World")] + [InlineData("죠시라쿠! 2년 후 v01", "죠시라쿠! 2년 후")] + [InlineData("죠시라쿠! 2년 후 1권", "죠시라쿠! 2년 후")] + [InlineData("test 2 years 1권", "test 2 years")] + [InlineData("test 2 years 1화", "test 2 years")] public void ParseSeriesTest(string filename, string expected) { Assert.Equal(expected, API.Services.Tasks.Scanner.Parser.Parser.ParseSeries(filename)); diff --git a/API/Helpers/Builders/AppUserBuilder.cs b/API/Helpers/Builders/AppUserBuilder.cs index 8a3ce9096..ebe0efa23 100644 --- a/API/Helpers/Builders/AppUserBuilder.cs +++ b/API/Helpers/Builders/AppUserBuilder.cs @@ -32,14 +32,8 @@ public class AppUserBuilder : IEntityBuilder DashboardStreams = new List(), SideNavStreams = new List() }; - foreach (var s in Seed.DefaultStreams) - { - _appUser.DashboardStreams.Add(s); - } - foreach (var s in Seed.DefaultSideNavStreams) - { - _appUser.SideNavStreams.Add(s); - } + _appUser.DashboardStreams = Seed.DefaultStreams.ToList(); + _appUser.SideNavStreams = Seed.DefaultSideNavStreams.ToList(); } public AppUserBuilder WithLibrary(Library library, bool createSideNavStream = false) diff --git a/API/Services/SeriesService.cs b/API/Services/SeriesService.cs index e505b610d..4bc3aec09 100644 --- a/API/Services/SeriesService.cs +++ b/API/Services/SeriesService.cs @@ -678,6 +678,8 @@ public class SeriesService : ISeriesService .OrderBy(c => c.CreatedUtc) .ToList(); + if (chapters.Count < 3) return _emptyExpectedChapter; + // Calculate the time differences between consecutive chapters var timeDifferences = new List(); DateTime? previousChapterTime = null; diff --git a/API/Services/Tasks/Scanner/Parser/Parser.cs b/API/Services/Tasks/Scanner/Parser/Parser.cs index 4f126b8f1..187c671ed 100644 --- a/API/Services/Tasks/Scanner/Parser/Parser.cs +++ b/API/Services/Tasks/Scanner/Parser/Parser.cs @@ -321,6 +321,10 @@ public static class Parser new Regex( @"(?.*)( ?- ?)Ch\.\d+-?\d*", MatchOptions, RegexTimeout), + // Korean catch all for symbols 죠시라쿠! 2년 후 1권 + new Regex( + @"^(?!Vol)(?!Chapter)(?.+?)(-|_|\s|#)\d+(-\d+)?(권|화|話)", + MatchOptions, RegexTimeout), // [BAA]_Darker_than_Black_Omake-1, Bleach 001-002, Kodoja #001 (March 2016) new Regex( @"^(?!Vol)(?!Chapter)(?.+?)(-|_|\s|#)\d+(-\d+)?", diff --git a/UI/Web/src/app/_interceptors/error.interceptor.ts b/UI/Web/src/app/_interceptors/error.interceptor.ts index b879013ca..77b27acf0 100644 --- a/UI/Web/src/app/_interceptors/error.interceptor.ts +++ b/UI/Web/src/app/_interceptors/error.interceptor.ts @@ -106,15 +106,17 @@ export class ErrorInterceptor implements HttpInterceptor { console.error('500 error: ', error); } this.toast(err.message); - } else if (error.hasOwnProperty('message') && error.message.trim() !== '') { + return; + } + if (error.hasOwnProperty('message') && error.message.trim() !== '') { if (error.message !== 'User is not authenticated' && error.message !== 'errors.user-not-auth') { console.error('500 error: ', error); } + return; } - else { - this.toast('errors.unknown-crit'); - console.error('500 error:', error); - } + + this.toast('errors.unknown-crit'); + console.error('500 error:', error); } private handleAuthError(error: any) { diff --git a/UI/Web/src/app/admin/invite-user/invite-user.component.html b/UI/Web/src/app/admin/invite-user/invite-user.component.html index 124b91571..e9b3d6af0 100644 --- a/UI/Web/src/app/admin/invite-user/invite-user.component.html +++ b/UI/Web/src/app/admin/invite-user/invite-user.component.html @@ -5,7 +5,7 @@