Added hasFile check to only delete files that exist.
This commit is contained in:
@@ -59,24 +59,20 @@ public class SonarrController : Controller
|
||||
}
|
||||
|
||||
var seasonNumbers = new HashSet<int>(sonarrSeries.Seasons
|
||||
.Where(s => s.SeasonNumber.HasValue)
|
||||
.Select(s => s.SeasonNumber!.Value));
|
||||
.Select(s => s.SeasonNumber));
|
||||
|
||||
var staleEpisodesResponseObj = episodesResponseObj
|
||||
.Where(episodeDeletionDetail => episodeDeletionDetail.SeasonNumber != null &&
|
||||
seasonNumbers.Contains(episodeDeletionDetail.SeasonNumber.Value))
|
||||
.Where(episodeDeletionDetail => seasonNumbers.Contains(episodeDeletionDetail.SeasonNumber))
|
||||
.ToList();
|
||||
|
||||
var episodeIds = staleEpisodesResponseObj
|
||||
.Where(episodeDeletionDetail => episodeDeletionDetail.HasFile)
|
||||
.Select(episodeDeletionDetail => episodeDeletionDetail.EpisodeId)
|
||||
.Where(id => id.HasValue)
|
||||
.Select(id => id!.Value)
|
||||
.ToList();
|
||||
|
||||
var episodeFileIds = staleEpisodesResponseObj
|
||||
.Where(episodeDeletionDetail => episodeDeletionDetail.HasFile)
|
||||
.Select(episodeDeletionDetail => episodeDeletionDetail.EpisodeFileId)
|
||||
.Where(id => id.HasValue)
|
||||
.Select(id => id!.Value)
|
||||
.ToList();
|
||||
|
||||
return Ok(new EpisodeIdLists(episodeIds, episodeFileIds));
|
||||
|
||||
@@ -3,7 +3,8 @@ using System.Text.Json.Serialization;
|
||||
namespace Jellyfin.Plugin.MediaCleaner.Models;
|
||||
|
||||
public record EpisodeDeletionDetails(
|
||||
[property: JsonPropertyName("id")] int? EpisodeId,
|
||||
[property: JsonPropertyName("episodeFileId")] int? EpisodeFileId,
|
||||
[property: JsonPropertyName("seasonNumber")] int? SeasonNumber
|
||||
[property: JsonPropertyName("id")] int EpisodeId,
|
||||
[property: JsonPropertyName("episodeFileId")] int EpisodeFileId,
|
||||
[property: JsonPropertyName("seasonNumber")] int SeasonNumber,
|
||||
[property: JsonPropertyName("hasFile")] bool HasFile
|
||||
);
|
||||
|
||||
@@ -14,5 +14,5 @@ public record SonarrSeries(
|
||||
);
|
||||
|
||||
public record Season(
|
||||
[property: JsonPropertyName("seasonNumber")] int? SeasonNumber
|
||||
[property: JsonPropertyName("seasonNumber")] int SeasonNumber
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user