Added checks for completely unwatched movies and series

This commit is contained in:
2025-11-30 21:43:47 -07:00
parent c001a4f2ca
commit 1ddb840f4a

View File

@@ -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;