diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-12-11 01:20:28 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-12-11 01:20:28 -0500 |
| commit | ea9e8b957cdf5bb335967eeb1a018c4fc2a1db53 (patch) | |
| tree | 634029375a7632d4c591256790f190493a802138 /MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs | |
| parent | 4548e6598def249d4b0fe4f4f12e2fa16d4f1e3c (diff) | |
update sync objects
Diffstat (limited to 'MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs')
| -rw-r--r-- | MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs b/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs index 7b2b1f3f5..1faf690c9 100644 --- a/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs +++ b/MediaBrowser.Dlna/ContentDirectory/ControlHandler.cs @@ -492,7 +492,24 @@ namespace MediaBrowser.Dlna.ContentDirectory }, CancellationToken.None).ConfigureAwait(false); - items.AddRange(trailerResult.Items.Where(i => i.ContainsPerson(person.Name))); + var currentIds = items.Select(i => i.GetProviderId(MetadataProviders.Imdb)) + .ToList(); + + var trailersToAdd = trailerResult.Items + .Where(i => i.ContainsPerson(person.Name)) + .Where(i => + { + // Try to filter out dupes using imdb id + var imdb = i.GetProviderId(MetadataProviders.Imdb); + if (!string.IsNullOrWhiteSpace(imdb) && + currentIds.Contains(imdb, StringComparer.OrdinalIgnoreCase)) + { + return false; + } + return true; + }); + + items.AddRange(trailersToAdd); items = _libraryManager.Sort(items, user, new[] { ItemSortBy.SortName }, SortOrder.Ascending) .Skip(startIndex ?? 0) @@ -527,7 +544,7 @@ namespace MediaBrowser.Dlna.ContentDirectory var movie = item as Movie; if (movie != null) { - if (movie.LocalTrailerIds.Count > 0 || + if (movie.GetTrailerIds().Count > 0 || movie.SpecialFeatureIds.Count > 0) { return StubType.Folder; @@ -559,7 +576,7 @@ namespace MediaBrowser.Dlna.ContentDirectory list.Add(item); - list.AddRange(item.LocalTrailerIds.Select(i => _libraryManager.GetItemById(i)).Where(i => i != null)); + list.AddRange(item.GetTrailerIds().Select(i => _libraryManager.GetItemById(i)).Where(i => i != null)); list.AddRange(item.SpecialFeatureIds.Select(i => _libraryManager.GetItemById(i)).Where(i => i != null)); var serverItems = list.Select(i => new ServerItem { Item = i, StubType = null }) |
