diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-01 14:28:36 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-01 14:28:36 -0400 |
| commit | 3952360ce89a3eb512a2a92aa95f837705079c04 (patch) | |
| tree | 1a1ee00baa15582299999c4b6f8733fbf5b52d95 | |
| parent | 86de351e239c24c7ad226f4a0e6c564e0dd160cd (diff) | |
reduce imported people
3 files changed, 46 insertions, 22 deletions
diff --git a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs index 96c3bf6a0..8651f2758 100644 --- a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs +++ b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs @@ -781,24 +781,24 @@ namespace MediaBrowser.MediaEncoding.Probing } } - var conductor = FFProbeHelpers.GetDictionaryValue(tags, "conductor"); - if (!string.IsNullOrWhiteSpace(conductor)) - { - foreach (var person in Split(conductor, false)) - { - audio.People.Add(new BaseItemPerson { Name = person, Type = PersonType.Conductor }); - } - } - - var lyricist = FFProbeHelpers.GetDictionaryValue(tags, "lyricist"); + //var conductor = FFProbeHelpers.GetDictionaryValue(tags, "conductor"); + //if (!string.IsNullOrWhiteSpace(conductor)) + //{ + // foreach (var person in Split(conductor, false)) + // { + // audio.People.Add(new BaseItemPerson { Name = person, Type = PersonType.Conductor }); + // } + //} + + //var lyricist = FFProbeHelpers.GetDictionaryValue(tags, "lyricist"); + //if (!string.IsNullOrWhiteSpace(lyricist)) + //{ + // foreach (var person in Split(lyricist, false)) + // { + // audio.People.Add(new BaseItemPerson { Name = person, Type = PersonType.Lyricist }); + // } + //} - if (!string.IsNullOrWhiteSpace(lyricist)) - { - foreach (var person in Split(lyricist, false)) - { - audio.People.Add(new BaseItemPerson { Name = person, Type = PersonType.Lyricist }); - } - } // Check for writer some music is tagged that way as alternative to composer/lyricist var writer = FFProbeHelpers.GetDictionaryValue(tags, "writer"); diff --git a/MediaBrowser.Providers/Movies/GenericMovieDbInfo.cs b/MediaBrowser.Providers/Movies/GenericMovieDbInfo.cs index 8bff02206..6788bdc9c 100644 --- a/MediaBrowser.Providers/Movies/GenericMovieDbInfo.cs +++ b/MediaBrowser.Providers/Movies/GenericMovieDbInfo.cs @@ -26,16 +26,16 @@ namespace MediaBrowser.Providers.Movies private readonly ILogger _logger; private readonly IJsonSerializer _jsonSerializer; private readonly ILibraryManager _libraryManager; - private readonly IFileSystem _fileSystem; + private readonly IFileSystem _fileSystem; private readonly CultureInfo _usCulture = new CultureInfo("en-US"); - public GenericMovieDbInfo(ILogger logger, IJsonSerializer jsonSerializer, ILibraryManager libraryManager, IFileSystem fileSystem) + public GenericMovieDbInfo(ILogger logger, IJsonSerializer jsonSerializer, ILibraryManager libraryManager, IFileSystem fileSystem) { _logger = logger; _jsonSerializer = jsonSerializer; _libraryManager = libraryManager; - _fileSystem = fileSystem; + _fileSystem = fileSystem; } public async Task<MetadataResult<T>> GetMetadata(ItemLookupInfo itemId, CancellationToken cancellationToken) @@ -271,6 +271,8 @@ namespace MediaBrowser.Providers.Movies //and the rest from crew if (movieData.casts != null && movieData.casts.crew != null) { + var keepTypes = new[] { PersonType.Director, PersonType.Writer, PersonType.Producer }; + foreach (var person in movieData.casts.crew) { // Normalize this @@ -280,6 +282,12 @@ namespace MediaBrowser.Providers.Movies type = PersonType.Writer; } + if (!keepTypes.Contains(type ?? string.Empty, StringComparer.OrdinalIgnoreCase) && + !keepTypes.Contains(person.job ?? string.Empty, StringComparer.OrdinalIgnoreCase)) + { + continue; + } + var personInfo = new PersonInfo { Name = person.name.Trim(), diff --git a/MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs b/MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs index 032da1928..fcd753264 100644 --- a/MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs +++ b/MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Model.IO; +using System; +using MediaBrowser.Model.IO; using MediaBrowser.Common.Net; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Entities; @@ -166,9 +167,24 @@ namespace MediaBrowser.Providers.TV //and the rest from crew if (credits.crew != null) { + var keepTypes = new[] { PersonType.Director, PersonType.Writer, PersonType.Producer }; + foreach (var person in credits.crew) { - result.AddPerson(new PersonInfo { Name = person.name.Trim(), Role = person.job, Type = person.department }); + // Normalize this + var type = person.department; + if (string.Equals(type, "writing", StringComparison.OrdinalIgnoreCase)) + { + type = PersonType.Writer; + } + + if (!keepTypes.Contains(type ?? string.Empty, StringComparer.OrdinalIgnoreCase) && + !keepTypes.Contains(person.job ?? string.Empty, StringComparer.OrdinalIgnoreCase)) + { + continue; + } + + result.AddPerson(new PersonInfo { Name = person.name.Trim(), Role = person.job, Type = type }); } } } |
