Bugfix/series cover not setting (#527)

* Fixed an issue where cover generation was failing on first add due to not checking correctly on First Volume.
This commit is contained in:
Joseph Milazzo 2021-08-27 10:48:55 -07:00 committed by GitHub
parent b09406eecf
commit 6edf3b083b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 9 additions and 7 deletions

View File

@ -36,6 +36,13 @@ namespace API.Tests.Services
}, false, false));
}
[Fact]
public void ShouldUpdateCoverImage_OnFirstRunSeries()
{
// Represents first run
Assert.True(MetadataService.ShouldUpdateCoverImage(null,null, false, false));
}
[Fact]
public void ShouldUpdateCoverImage_OnSecondRun_FileModified()
{

View File

@ -1,7 +1,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using API.Comparators;
@ -37,11 +36,6 @@ namespace API.Services
_imageService = imageService;
}
private static bool IsCoverImageSet(byte[] coverImage, bool forceUpdate = false)
{
return forceUpdate || HasCoverImage(coverImage);
}
/// <summary>
/// Determines whether an entity should regenerate cover image
/// </summary>
@ -104,7 +98,8 @@ namespace API.Services
/// <param name="forceUpdate">Force updating cover image even if underlying file has not been modified or chapter already has a cover image</param>
public void UpdateMetadata(Volume volume, bool forceUpdate)
{
if (volume == null || !IsCoverImageSet(volume.CoverImage, forceUpdate)) return;
if (volume == null || !ShouldUpdateCoverImage(volume.CoverImage, null, forceUpdate
, false)) return;
volume.Chapters ??= new List<Chapter>();
var firstChapter = volume.Chapters.OrderBy(x => double.Parse(x.Number), _chapterSortComparer).FirstOrDefault();