diff options
Diffstat (limited to 'MediaBrowser.Providers/People/TvdbPersonImageProvider.cs')
| -rw-r--r-- | MediaBrowser.Providers/People/TvdbPersonImageProvider.cs | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/MediaBrowser.Providers/People/TvdbPersonImageProvider.cs b/MediaBrowser.Providers/People/TvdbPersonImageProvider.cs index 0258fd539..86e2cfaf7 100644 --- a/MediaBrowser.Providers/People/TvdbPersonImageProvider.cs +++ b/MediaBrowser.Providers/People/TvdbPersonImageProvider.cs @@ -21,13 +21,13 @@ namespace MediaBrowser.Providers.People public class TvdbPersonImageProvider : IRemoteImageProvider, IHasOrder { private readonly IServerConfigurationManager _config; - private readonly ILibraryManager _library; + private readonly ILibraryManager _libraryManager; private readonly IHttpClient _httpClient; - public TvdbPersonImageProvider(IServerConfigurationManager config, ILibraryManager library, IHttpClient httpClient) + public TvdbPersonImageProvider(IServerConfigurationManager config, ILibraryManager libraryManager, IHttpClient httpClient) { _config = config; - _library = library; + _libraryManager = libraryManager; _httpClient = httpClient; } @@ -59,9 +59,13 @@ namespace MediaBrowser.Providers.People // Avoid implicitly captured closure var itemName = item.Name; - var seriesWithPerson = _library.RootFolder - .GetRecursiveChildren(i => i is Series && !string.IsNullOrEmpty(i.GetProviderId(MetadataProviders.Tvdb)) && i.People.Any(p => string.Equals(p.Name, itemName, StringComparison.OrdinalIgnoreCase))) - .Cast<Series>() + var seriesWithPerson = _libraryManager.GetItems(new InternalItemsQuery + { + IncludeItemTypes = new[] { typeof(Series).Name }, + Person = itemName + + }).Items.Cast<Series>() + .Where(i => !string.IsNullOrEmpty(i.GetProviderId(MetadataProviders.Tvdb))) .ToList(); var infos = seriesWithPerson.Select(i => GetImageFromSeriesData(i, item.Name, cancellationToken)) |
