Polish Part 3 (#2424)

This commit is contained in:
Joe Milazzo 2023-11-10 07:56:30 -06:00 committed by GitHub
parent a018d6828e
commit 944830ca73
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
62 changed files with 518 additions and 493 deletions

View file

@ -94,13 +94,13 @@
<PackageReference Include="NetVips" Version="2.3.1" />
<PackageReference Include="NetVips.Native" Version="8.14.5" />
<PackageReference Include="NReco.Logging.File" Version="1.1.7" />
<PackageReference Include="Serilog" Version="3.0.1" />
<PackageReference Include="Serilog" Version="3.1.0" />
<PackageReference Include="Serilog.AspNetCore" Version="7.0.0" />
<PackageReference Include="Serilog.Enrichers.Thread" Version="3.2.0-dev-00752" />
<PackageReference Include="Serilog.Extensions.Hosting" Version="7.0.0" />
<PackageReference Include="Serilog.Settings.Configuration" Version="7.0.1" />
<PackageReference Include="Serilog.Sinks.AspNetCore.SignalR" Version="0.4.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="4.1.0" />
<PackageReference Include="Serilog.Sinks.Console" Version="5.0.0" />
<PackageReference Include="Serilog.Sinks.File" Version="5.0.0" />
<PackageReference Include="Serilog.Sinks.SignalR.Core" Version="0.1.2" />
<PackageReference Include="SharpCompress" Version="0.34.1" />

View file

@ -27,7 +27,7 @@ public static class MigrateSmartFilterEncoding
var smartFilters = dataContext.AppUserSmartFilter.ToList();
foreach (var filter in smartFilters)
{
if (filter.Filter.Contains(SmartFilterHelper.StatementSeparator)) continue;
if (!ShouldMigrateFilter(filter.Filter)) continue;
var decode = EncodeFix(filter.Filter);
if (string.IsNullOrEmpty(decode)) continue;
filter.Filter = decode;
@ -41,6 +41,11 @@ public static class MigrateSmartFilterEncoding
logger.LogCritical("Running MigrateSmartFilterEncoding migration - Completed. This is not an error");
}
public static bool ShouldMigrateFilter(string filter)
{
return !string.IsNullOrEmpty(filter) && !(filter.Contains(SmartFilterHelper.StatementSeparator) || Uri.UnescapeDataString(filter).Contains(SmartFilterHelper.StatementSeparator));
}
public static string EncodeFix(string encodedFilter)
{
var statements = StatementsRegex.Matches(encodedFilter)
@ -67,6 +72,7 @@ public static class MigrateSmartFilterEncoding
return $"sortField={sortFieldValue}{SmartFilterHelper.InnerStatementSeparator}isAscending={isAscendingValue}";
});
//name=Zero&sortOptions=sortField=2&isAscending=False&limitTo=0&combination=1
var filterDto = SmartFilterHelper.Decode(noStmt);
// Now we just parse each individual stmt into the core components and add to statements

View file

@ -189,6 +189,10 @@
"user-no-access-library-from-series": "User does not have access to the library this series belongs to",
"series-restricted-age-restriction": "User is not allowed to view this series due to age restrictions",
"next-volume-num": "Next Volume: {0}",
"next-book-num": "Next Book: {0}",
"next-issue-num": "Next Issue: {0}{1}",
"next-chapter-num": "Next Chapter: {0}",
"volume-num": "Volume {0}",

View file

@ -745,13 +745,14 @@ public class SeriesService : ISeriesService
result.VolumeNumber = lastChapter.Volume.Number;
result.Title = series.Library.Type switch
{
LibraryType.Manga => await _localizationService.Translate(userId, "chapter-num",
LibraryType.Manga => await _localizationService.Translate(userId, "next-chapter-num",
new object[] {result.ChapterNumber}),
LibraryType.Comic => await _localizationService.Translate(userId, "issue-num",
LibraryType.Comic => await _localizationService.Translate(userId, "next-issue-num",
new object[] {"#", result.ChapterNumber}),
LibraryType.Book => await _localizationService.Translate(userId, "book-num",
LibraryType.Book => await _localizationService.Translate(userId, "next-book-num",
new object[] {result.ChapterNumber}),
_ => "Chapter " + result.ChapterNumber
_ => await _localizationService.Translate(userId, "next-chapter-num",
new object[] {result.ChapterNumber})
};
}
else

View file

@ -294,7 +294,8 @@ public class ProcessSeries : IProcessSeries
var maxVolume = series.Volumes.Max(v => (int) Parser.Parser.MaxNumberFromRange(v.Name));
var maxChapter = chapters.Max(c => (int) Parser.Parser.MaxNumberFromRange(c.Range));
if (maxChapter > series.Metadata.TotalCount && maxVolume <= series.Metadata.TotalCount)
if ((maxChapter == 0 || maxChapter > series.Metadata.TotalCount) && maxVolume <= series.Metadata.TotalCount)
{
series.Metadata.MaxCount = maxVolume;
}

View file

@ -225,13 +225,13 @@ public class Startup
IDirectoryService directoryService, IUnitOfWork unitOfWork, IBackupService backupService, IImageService imageService)
{
var logger = serviceProvider.GetRequiredService<ILogger<Program>>();
// Apply Migrations
try
{
Task.Run(async () =>
{
// Apply all migrations on startup
var logger = serviceProvider.GetRequiredService<ILogger<Program>>();
var userManager = serviceProvider.GetRequiredService<UserManager<AppUser>>();
var dataContext = serviceProvider.GetRequiredService<DataContext>();
@ -256,7 +256,6 @@ public class Startup
}
catch (Exception ex)
{
var logger = serviceProvider.GetRequiredService<ILogger<Program>>();
logger.LogCritical(ex, "An error occurred during migration");
}
@ -377,7 +376,6 @@ public class Startup
{
try
{
var logger = serviceProvider.GetRequiredService<ILogger<Startup>>();
logger.LogInformation("Kavita - v{Version}", BuildInfo.Version);
}
catch (Exception)
@ -387,8 +385,7 @@ public class Startup
Console.WriteLine($"Kavita - v{BuildInfo.Version}");
});
var _logger = serviceProvider.GetRequiredService<ILogger<Startup>>();
_logger.LogInformation("Starting with base url as {BaseUrl}", basePath);
logger.LogInformation("Starting with base url as {BaseUrl}", basePath);
}
private static void UpdateBaseUrlInIndex(string baseUrl)

BIN
API/config/config.7z Normal file

Binary file not shown.