From accdbfaab259152d171ba09b887355c221fc7a11 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 24 May 2016 03:40:45 -0400 Subject: update live tv suggestions --- .../LiveTv/LiveTvManager.cs | 56 ++++++---------------- 1 file changed, 14 insertions(+), 42 deletions(-) (limited to 'MediaBrowser.Server.Implementations') diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs index a35a7c940..de7fb5c8a 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs @@ -939,9 +939,15 @@ namespace MediaBrowser.Server.Implementations.LiveTv IsMovie = query.IsMovie, IsSports = query.IsSports, IsKids = query.IsKids, - EnableTotalRecordCount = query.EnableTotalRecordCount + EnableTotalRecordCount = query.EnableTotalRecordCount, + SortBy = new[] { ItemSortBy.StartDate } }; + if (query.Limit.HasValue) + { + internalQuery.Limit = Math.Max(query.Limit.Value * 5, 500); + } + if (query.HasAired.HasValue) { if (query.HasAired.Value) @@ -958,15 +964,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv var programList = programs.ToList(); - var genres = programList.SelectMany(i => i.Genres) - .Where(i => !string.IsNullOrWhiteSpace(i)) - .DistinctNames() - .Select(i => _libraryManager.GetGenre(i)) - .DistinctBy(i => i.Id) - .ToDictionary(i => i.Name, StringComparer.OrdinalIgnoreCase); + var factorChannelWatchCount = (query.IsAiring ?? false) || (query.IsKids ?? false) || (query.IsSports ?? false) || (query.IsMovie ?? false); programs = programList.OrderBy(i => i.HasImage(ImageType.Primary) ? 0 : 1) - .ThenByDescending(i => GetRecommendationScore(i, user.Id, genres)) + .ThenByDescending(i => GetRecommendationScore(i, user.Id, factorChannelWatchCount)) .ThenBy(i => i.StartDate); if (query.Limit.HasValue) @@ -1004,7 +1005,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv return result; } - private int GetRecommendationScore(LiveTvProgram program, Guid userId, Dictionary genres) + private int GetRecommendationScore(LiveTvProgram program, Guid userId, bool factorChannelWatchCount) { var score = 0; @@ -1036,41 +1037,12 @@ namespace MediaBrowser.Server.Implementations.LiveTv score += 3; } - score += GetGenreScore(program.Genres, userId, genres); - - return score; - } - - private int GetGenreScore(IEnumerable programGenres, Guid userId, Dictionary genres) - { - return programGenres.Select(i => + if (factorChannelWatchCount) { - var score = 0; - - Genre genre; - - if (genres.TryGetValue(i, out genre)) - { - var genreUserdata = _userDataManager.GetUserData(userId, genre); - - if (genreUserdata.Likes ?? false) - { - score++; - } - else if (!(genreUserdata.Likes ?? true)) - { - score--; - } - - if (genreUserdata.IsFavorite) - { - score += 2; - } - } - - return score; + score += channelUserdata.PlayCount; + } - }).Sum(); + return score; } private async Task AddRecordingInfo(IEnumerable> programs, CancellationToken cancellationToken) -- cgit v1.2.3 From 8000a30d9a230610056d93a6be18e53b4f4914a9 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 24 May 2016 12:58:36 -0400 Subject: update UserDataManager --- .../Library/UserDataManager.cs | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) (limited to 'MediaBrowser.Server.Implementations') diff --git a/MediaBrowser.Server.Implementations/Library/UserDataManager.cs b/MediaBrowser.Server.Implementations/Library/UserDataManager.cs index 0e211937f..afbce87a9 100644 --- a/MediaBrowser.Server.Implementations/Library/UserDataManager.cs +++ b/MediaBrowser.Server.Implementations/Library/UserDataManager.cs @@ -170,22 +170,18 @@ namespace MediaBrowser.Server.Implementations.Library return value; } } + } - if (keys.Count > 0) + if (keys.Count > 0) + { + return new UserItemData { - var key = keys[0]; - var cacheKey = GetCacheKey(userId, key); - var userdata = new UserItemData - { - UserId = userId, - Key = key - }; - _userData[cacheKey] = userdata; - return userdata; - } - - return null; + UserId = userId, + Key = keys[0] + }; } + + return null; } /// -- cgit v1.2.3 From 58d4534a2690389c37a7ad5bb247e6dc28c01401 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 24 May 2016 12:58:56 -0400 Subject: update live tv suggestions --- MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'MediaBrowser.Server.Implementations') diff --git a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs index de7fb5c8a..bbdc4ab0d 100644 --- a/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/MediaBrowser.Server.Implementations/LiveTv/LiveTvManager.cs @@ -945,7 +945,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv if (query.Limit.HasValue) { - internalQuery.Limit = Math.Max(query.Limit.Value * 5, 500); + internalQuery.Limit = Math.Max(query.Limit.Value * 5, 300); } if (query.HasAired.HasValue) -- cgit v1.2.3