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)); }, false, false));
} }
[Fact]
public void ShouldUpdateCoverImage_OnFirstRunSeries()
{
// Represents first run
Assert.True(MetadataService.ShouldUpdateCoverImage(null,null, false, false));
}
[Fact] [Fact]
public void ShouldUpdateCoverImage_OnSecondRun_FileModified() public void ShouldUpdateCoverImage_OnSecondRun_FileModified()
{ {

View File

@ -1,7 +1,6 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Diagnostics; using System.Diagnostics;
using System.IO;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;
using API.Comparators; using API.Comparators;
@ -37,11 +36,6 @@ namespace API.Services
_imageService = imageService; _imageService = imageService;
} }
private static bool IsCoverImageSet(byte[] coverImage, bool forceUpdate = false)
{
return forceUpdate || HasCoverImage(coverImage);
}
/// <summary> /// <summary>
/// Determines whether an entity should regenerate cover image /// Determines whether an entity should regenerate cover image
/// </summary> /// </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> /// <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) 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>(); volume.Chapters ??= new List<Chapter>();
var firstChapter = volume.Chapters.OrderBy(x => double.Parse(x.Number), _chapterSortComparer).FirstOrDefault(); var firstChapter = volume.Chapters.OrderBy(x => double.Parse(x.Number), _chapterSortComparer).FirstOrDefault();