Fixed a bug in how to determine if the volume or series updates cover image. (#857)

This commit is contained in:
Joseph Milazzo 2021-12-17 15:21:53 -06:00 committed by GitHub
parent 65ab5d53ca
commit 3a8a786397
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 7 additions and 3 deletions

View File

@ -38,11 +38,11 @@ public class CacheHelper : ICacheHelper
public bool ShouldUpdateCoverImage(string coverPath, MangaFile firstFile, DateTime chapterCreated, bool forceUpdate = false,
bool isCoverLocked = false)
{
if (firstFile == null) return false;
var fileExists = !string.IsNullOrEmpty(coverPath) && _fileService.Exists(coverPath);
if (isCoverLocked && fileExists) return false;
if (forceUpdate) return true;
if (firstFile == null) return true;
return (_fileService.HasFileBeenModifiedSince(coverPath, chapterCreated)) || !fileExists;
}

View File

@ -199,7 +199,9 @@ public class MetadataService : IMetadataService
private bool UpdateVolumeCoverImage(Volume volume, bool forceUpdate)
{
// We need to check if Volume coverImage matches first chapters if forceUpdate is false
if (volume == null || !_cacheHelper.ShouldUpdateCoverImage(_directoryService.FileSystem.Path.Join(_directoryService.CoverImageDirectory, volume.CoverImage), null, volume.Created, forceUpdate)) return false;
if (volume == null || !_cacheHelper.ShouldUpdateCoverImage(
_directoryService.FileSystem.Path.Join(_directoryService.CoverImageDirectory, volume.CoverImage),
null, volume.Created, forceUpdate)) return false;
volume.Chapters ??= new List<Chapter>();
var firstChapter = volume.Chapters.OrderBy(x => double.Parse(x.Number), _chapterSortComparerForInChapterSorting).FirstOrDefault();
@ -218,7 +220,9 @@ public class MetadataService : IMetadataService
{
if (series == null) return;
if (!_cacheHelper.ShouldUpdateCoverImage(_directoryService.FileSystem.Path.Join(_directoryService.CoverImageDirectory, series.CoverImage), null, series.Created, forceUpdate, series.CoverImageLocked))
//var firstFile = series.Volumes.FirstWithChapters().Chapters.Fir
if (!_cacheHelper.ShouldUpdateCoverImage(_directoryService.FileSystem.Path.Join(_directoryService.CoverImageDirectory, series.CoverImage),
null, series.Created, forceUpdate, series.CoverImageLocked))
return;
series.Volumes ??= new List<Volume>();