mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-03-06 18:26:33 +00:00
make next up smarter using watched history from deleted items
This commit is contained in:
@@ -221,6 +221,13 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
/// <param name="user">The user.</param>
|
||||
/// <returns>IEnumerable{Episode}.</returns>
|
||||
public IEnumerable<Episode> GetEpisodes(User user)
|
||||
{
|
||||
var config = user.Configuration;
|
||||
|
||||
return GetEpisodes(user, config.DisplayMissingEpisodes, config.DisplayUnairedEpisodes);
|
||||
}
|
||||
|
||||
public IEnumerable<Episode> GetEpisodes(User user, bool includeMissingEpisodes, bool includeVirtualUnairedEpisodes)
|
||||
{
|
||||
if (IndexNumber.HasValue)
|
||||
{
|
||||
@@ -228,13 +235,22 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
|
||||
if (series != null)
|
||||
{
|
||||
return series.GetEpisodes(user, IndexNumber.Value);
|
||||
return series.GetEpisodes(user, IndexNumber.Value, includeMissingEpisodes, includeVirtualUnairedEpisodes);
|
||||
}
|
||||
}
|
||||
|
||||
var episodes = GetRecursiveChildren(user)
|
||||
.OfType<Episode>();
|
||||
|
||||
if (!includeMissingEpisodes)
|
||||
{
|
||||
episodes = episodes.Where(i => !i.IsMissingEpisode);
|
||||
}
|
||||
if (!includeVirtualUnairedEpisodes)
|
||||
{
|
||||
episodes = episodes.Where(i => !i.IsVirtualUnaired);
|
||||
}
|
||||
|
||||
return LibraryManager
|
||||
.Sort(episodes, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending)
|
||||
.Cast<Episode>();
|
||||
|
||||
@@ -128,23 +128,28 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
}
|
||||
|
||||
public IEnumerable<Season> GetSeasons(User user)
|
||||
{
|
||||
var config = user.Configuration;
|
||||
|
||||
return GetSeasons(user, config.DisplayMissingEpisodes, config.DisplayUnairedEpisodes);
|
||||
}
|
||||
|
||||
public IEnumerable<Season> GetSeasons(User user, bool includeMissingSeasons, bool includeVirtualUnaired)
|
||||
{
|
||||
var seasons = base.GetChildren(user, true)
|
||||
.OfType<Season>();
|
||||
|
||||
var config = user.Configuration;
|
||||
|
||||
if (!config.DisplayMissingEpisodes && !config.DisplayUnairedEpisodes)
|
||||
if (!includeMissingSeasons && !includeVirtualUnaired)
|
||||
{
|
||||
seasons = seasons.Where(i => !i.IsMissingOrVirtualUnaired);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!config.DisplayMissingEpisodes)
|
||||
if (!includeMissingSeasons)
|
||||
{
|
||||
seasons = seasons.Where(i => !i.IsMissingSeason);
|
||||
}
|
||||
if (!config.DisplayUnairedEpisodes)
|
||||
if (!includeVirtualUnaired)
|
||||
{
|
||||
seasons = seasons.Where(i => !i.IsVirtualUnaired);
|
||||
}
|
||||
@@ -152,23 +157,28 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
|
||||
return LibraryManager
|
||||
.Sort(seasons, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending)
|
||||
.Cast<Season>();
|
||||
.Cast<Season>();
|
||||
}
|
||||
|
||||
public IEnumerable<Episode> GetEpisodes(User user, int seasonNumber)
|
||||
{
|
||||
var config = user.Configuration;
|
||||
|
||||
return GetEpisodes(user, seasonNumber, config.DisplayMissingEpisodes, config.DisplayUnairedEpisodes);
|
||||
}
|
||||
|
||||
public IEnumerable<Episode> GetEpisodes(User user, int seasonNumber, bool includeMissingEpisodes, bool includeVirtualUnairedEpisodes)
|
||||
{
|
||||
var episodes = GetRecursiveChildren(user)
|
||||
.OfType<Episode>();
|
||||
|
||||
episodes = FilterEpisodesBySeason(episodes, seasonNumber, DisplaySpecialsWithSeasons);
|
||||
|
||||
var config = user.Configuration;
|
||||
|
||||
if (!config.DisplayMissingEpisodes)
|
||||
if (!includeMissingEpisodes)
|
||||
{
|
||||
episodes = episodes.Where(i => !i.IsMissingEpisode);
|
||||
}
|
||||
if (!config.DisplayUnairedEpisodes)
|
||||
if (!includeVirtualUnairedEpisodes)
|
||||
{
|
||||
episodes = episodes.Where(i => !i.IsVirtualUnaired);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user