diff options
Diffstat (limited to 'MediaBrowser.Controller/Providers/BaseItemXmlParser.cs')
| -rw-r--r-- | MediaBrowser.Controller/Providers/BaseItemXmlParser.cs | 66 |
1 files changed, 57 insertions, 9 deletions
diff --git a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs index 5d3d9dbca..59b7cd8db 100644 --- a/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs +++ b/MediaBrowser.Controller/Providers/BaseItemXmlParser.cs @@ -247,7 +247,10 @@ namespace MediaBrowser.Controller.Providers { var val = reader.ReadElementContentAsString(); - + if (!string.IsNullOrWhiteSpace(val)) + { + item.ForcedSortName = val; + } break; } @@ -479,7 +482,7 @@ namespace MediaBrowser.Controller.Providers case "Director": { - foreach (var p in SplitNames(reader.ReadElementContentAsString()).Select(v => new PersonInfo { Name = v.Trim(), Type = PersonType.Director })) + foreach (var p in SplitNames(reader.ReadElementContentAsString()).Select(v => new Entities.PersonInfo { Name = v.Trim(), Type = PersonType.Director })) { if (string.IsNullOrWhiteSpace(p.Name)) { @@ -491,7 +494,7 @@ namespace MediaBrowser.Controller.Providers } case "Writer": { - foreach (var p in SplitNames(reader.ReadElementContentAsString()).Select(v => new PersonInfo { Name = v.Trim(), Type = PersonType.Writer })) + foreach (var p in SplitNames(reader.ReadElementContentAsString()).Select(v => new Entities.PersonInfo { Name = v.Trim(), Type = PersonType.Writer })) { if (string.IsNullOrWhiteSpace(p.Name)) { @@ -516,7 +519,7 @@ namespace MediaBrowser.Controller.Providers else { // Old-style piped string - foreach (var p in SplitNames(actors).Select(v => new PersonInfo { Name = v.Trim(), Type = PersonType.Actor })) + foreach (var p in SplitNames(actors).Select(v => new Entities.PersonInfo { Name = v.Trim(), Type = PersonType.Actor })) { if (string.IsNullOrWhiteSpace(p.Name)) { @@ -530,7 +533,7 @@ namespace MediaBrowser.Controller.Providers case "GuestStars": { - foreach (var p in SplitNames(reader.ReadElementContentAsString()).Select(v => new PersonInfo { Name = v.Trim(), Type = PersonType.GuestStar })) + foreach (var p in SplitNames(reader.ReadElementContentAsString()).Select(v => new Entities.PersonInfo { Name = v.Trim(), Type = PersonType.GuestStar })) { if (string.IsNullOrWhiteSpace(p.Name)) { @@ -680,12 +683,30 @@ namespace MediaBrowser.Controller.Providers } break; } - case "MusicbrainzId": + case "MusicBrainzAlbumId": { var mbz = reader.ReadElementContentAsString(); if (!string.IsNullOrWhiteSpace(mbz)) { - item.SetProviderId(MetadataProviders.Musicbrainz, mbz); + item.SetProviderId(MetadataProviders.MusicBrainzAlbum, mbz); + } + break; + } + case "MusicBrainzAlbumArtistId": + { + var mbz = reader.ReadElementContentAsString(); + if (!string.IsNullOrWhiteSpace(mbz)) + { + item.SetProviderId(MetadataProviders.MusicBrainzAlbumArtist, mbz); + } + break; + } + case "MusicBrainzArtistId": + { + var mbz = reader.ReadElementContentAsString(); + if (!string.IsNullOrWhiteSpace(mbz)) + { + item.SetProviderId(MetadataProviders.MusicBrainzArtist, mbz); } break; } @@ -698,6 +719,33 @@ namespace MediaBrowser.Controller.Providers } break; } + case "TvRageId": + { + var id = reader.ReadElementContentAsString(); + if (!string.IsNullOrWhiteSpace(id)) + { + item.SetProviderId(MetadataProviders.TvRage, id); + } + break; + } + case "AudioDbArtistId": + { + var id = reader.ReadElementContentAsString(); + if (!string.IsNullOrWhiteSpace(id)) + { + item.SetProviderId(MetadataProviders.AudioDbArtist, id); + } + break; + } + case "AudioDbAlbumId": + { + var id = reader.ReadElementContentAsString(); + if (!string.IsNullOrWhiteSpace(id)) + { + item.SetProviderId(MetadataProviders.AudioDbAlbum, id); + } + break; + } case "RottenTomatoesId": var rtId = reader.ReadElementContentAsString(); if (!string.IsNullOrWhiteSpace(rtId)) @@ -1195,7 +1243,7 @@ namespace MediaBrowser.Controller.Providers /// </summary> /// <param name="reader">The reader.</param> /// <returns>IEnumerable{PersonInfo}.</returns> - private IEnumerable<PersonInfo> GetPersonsFromXmlNode(XmlReader reader) + private IEnumerable<Entities.PersonInfo> GetPersonsFromXmlNode(XmlReader reader) { var name = string.Empty; var type = "Actor"; // If type is not specified assume actor @@ -1257,7 +1305,7 @@ namespace MediaBrowser.Controller.Providers } } - var personInfo = new PersonInfo + var personInfo = new Entities.PersonInfo { Name = name.Trim(), Role = role, |
