diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-07-16 09:00:03 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2015-07-16 09:00:03 -0400 |
| commit | 087b9c6fd2bfbbd10a4fcbfe335550beb9085a04 (patch) | |
| tree | c474f1d70d4cdbc513034dc3832e4d266719ddea /MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs | |
| parent | 2022c5631fe18996b23330a58133cb18d1e9600e (diff) | |
| parent | c6a64efab781269f9dc512282f27f2a2d3fdb1f2 (diff) | |
Merge pull request #1140 from MediaBrowser/dev
3.0.5675.1
Diffstat (limited to 'MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs')
| -rw-r--r-- | MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs | 21 |
1 files changed, 10 insertions, 11 deletions
diff --git a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs index 33b703611..481ba0dda 100644 --- a/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs +++ b/MediaBrowser.MediaEncoding/Probing/ProbeResultNormalizer.cs @@ -439,7 +439,7 @@ namespace MediaBrowser.MediaEncoding.Probing if (!string.IsNullOrWhiteSpace(artists)) { - audio.Artists = artists.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries) + audio.Artists = SplitArtists(artists, new[] { '/' }, false) .Distinct(StringComparer.OrdinalIgnoreCase) .ToList(); } @@ -452,7 +452,7 @@ namespace MediaBrowser.MediaEncoding.Probing } else { - audio.Artists = SplitArtists(artist) + audio.Artists = SplitArtists(artist, _nameDelimiters, true) .Distinct(StringComparer.OrdinalIgnoreCase) .ToList(); } @@ -474,7 +474,7 @@ namespace MediaBrowser.MediaEncoding.Probing } else { - audio.AlbumArtists = SplitArtists(albumArtist) + audio.AlbumArtists = SplitArtists(albumArtist, _nameDelimiters, true) .Distinct(StringComparer.OrdinalIgnoreCase) .ToList(); @@ -552,10 +552,13 @@ namespace MediaBrowser.MediaEncoding.Probing private const string ArtistReplaceValue = " | "; - private IEnumerable<string> SplitArtists(string val) + private IEnumerable<string> SplitArtists(string val, char[] delimiters, bool splitFeaturing) { - val = val.Replace(" featuring ", ArtistReplaceValue, StringComparison.OrdinalIgnoreCase) - .Replace(" feat. ", ArtistReplaceValue, StringComparison.OrdinalIgnoreCase); + if (splitFeaturing) + { + val = val.Replace(" featuring ", ArtistReplaceValue, StringComparison.OrdinalIgnoreCase) + .Replace(" feat. ", ArtistReplaceValue, StringComparison.OrdinalIgnoreCase); + } var artistsFound = new List<string>(); @@ -570,11 +573,7 @@ namespace MediaBrowser.MediaEncoding.Probing } } - // Only use the comma as a delimeter if there are no slashes or pipes. - // We want to be careful not to split names that have commas in them - var delimeter = _nameDelimiters; - - var artists = val.Split(delimeter, StringSplitOptions.RemoveEmptyEntries) + var artists = val.Split(delimiters, StringSplitOptions.RemoveEmptyEntries) .Where(i => !string.IsNullOrWhiteSpace(i)) .Select(i => i.Trim()); |
