Added checks for completely unwatched movies and series
This commit is contained in:
@@ -93,13 +93,20 @@ public sealed class StaleMediaTask : IScheduledTask
|
||||
private List<BaseItem> GetStaleMovies(List<BaseItem> movies)
|
||||
{
|
||||
List<BaseItem> staleMovies = [];
|
||||
|
||||
foreach (var movie in movies)
|
||||
{
|
||||
bool movieIsStale = movie.DateCreated > DateTime.Now.AddDays(-Configuration.StaleMediaCutoff);
|
||||
var mostRecentUserData = movie.UserData.OrderByDescending(data => data.LastPlayedDate).First();
|
||||
|
||||
if (mostRecentUserData.LastPlayedDate < DateTime.Now.AddDays(-Configuration.StaleMediaCutoff))
|
||||
{
|
||||
staleMovies.Add(movie);
|
||||
}
|
||||
else if (movieIsStale)
|
||||
{
|
||||
staleMovies.Add(movie);
|
||||
}
|
||||
}
|
||||
|
||||
return staleMovies;
|
||||
@@ -160,6 +167,7 @@ public sealed class StaleMediaTask : IScheduledTask
|
||||
});
|
||||
|
||||
bool seasonHasUserData = episodes.Any(episode => episode.UserData.Count > 0);
|
||||
bool seasonIsStale = episodes.All(episode => episode.DateCreated > DateTime.Now.AddDays(-Configuration.StaleMediaCutoff));
|
||||
|
||||
if (seasonHasUserData)
|
||||
{
|
||||
@@ -174,6 +182,11 @@ public sealed class StaleMediaTask : IScheduledTask
|
||||
}
|
||||
}
|
||||
}
|
||||
// Check for episodes that have gone unwatched for stale media cutoff
|
||||
else if (seasonIsStale)
|
||||
{
|
||||
staleEpisodes.AddRange(episodes);
|
||||
}
|
||||
}
|
||||
|
||||
return staleEpisodes;
|
||||
|
||||
Reference in New Issue
Block a user