diff options
Diffstat (limited to 'MediaBrowser.XbmcMetadata/Parsers')
| -rw-r--r-- | MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs | 49 | ||||
| -rw-r--r-- | MediaBrowser.XbmcMetadata/Parsers/EpisodeNfoParser.cs | 70 | ||||
| -rw-r--r-- | MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs | 16 |
3 files changed, 27 insertions, 108 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs index 689f175f37..3b8d687765 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs @@ -187,18 +187,13 @@ namespace MediaBrowser.XbmcMetadata.Parsers return; } - using (var ms = new MemoryStream()) + // These are not going to be valid xml so no sense in causing the provider to fail and spamming the log with exceptions + try { - var bytes = Encoding.UTF8.GetBytes(xml); - - ms.Write(bytes, 0, bytes.Length); - ms.Position = 0; - - // These are not going to be valid xml so no sense in causing the provider to fail and spamming the log with exceptions - try + using (var stringReader = new StringReader(xml)) { // Use XmlReader for best performance - using (var reader = XmlReader.Create(ms, settings)) + using (var reader = XmlReader.Create(stringReader, settings)) { reader.MoveToContent(); reader.Read(); @@ -219,10 +214,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers } } } - catch (XmlException) - { + } + catch (XmlException) + { - } } } } @@ -251,7 +246,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers { var tmdbId = xml.Substring(index + srch.Length).TrimEnd('/').Split('-')[0]; int value; - if (!string.IsNullOrWhiteSpace(tmdbId) && int.TryParse(tmdbId, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) + if (!string.IsNullOrWhiteSpace(tmdbId) && int.TryParse(tmdbId, NumberStyles.Integer, CultureInfo.InvariantCulture, out value)) { item.SetProviderId(MetadataProviders.Tmdb, value.ToString(_usCulture)); } @@ -267,7 +262,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers { var tvdbId = xml.Substring(index + srch.Length).TrimEnd('/'); int value; - if (!string.IsNullOrWhiteSpace(tvdbId) && int.TryParse(tvdbId, NumberStyles.Any, CultureInfo.InvariantCulture, out value)) + if (!string.IsNullOrWhiteSpace(tvdbId) && int.TryParse(tvdbId, NumberStyles.Integer, CultureInfo.InvariantCulture, out value)) { item.SetProviderId(MetadataProviders.Tvdb, value.ToString(_usCulture)); } @@ -380,18 +375,6 @@ namespace MediaBrowser.XbmcMetadata.Parsers break; } - case "website": - { - var val = reader.ReadElementContentAsString(); - - if (!string.IsNullOrWhiteSpace(val)) - { - item.HomePageUrl = val; - } - - break; - } - case "lockedfields": { var val = reader.ReadElementContentAsString(); @@ -592,15 +575,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers { var val = reader.ReadElementContentAsString(); - var hasTrailer = item as IHasTrailers; - if (hasTrailer != null) + if (!string.IsNullOrWhiteSpace(val)) { - if (!string.IsNullOrWhiteSpace(val)) - { - val = val.Replace("plugin://plugin.video.youtube/?action=play_video&videoid=", "https://www.youtube.com/watch?v=", StringComparison.OrdinalIgnoreCase); + val = val.Replace("plugin://plugin.video.youtube/?action=play_video&videoid=", BaseNfoSaver.YouTubeWatchUrl, StringComparison.OrdinalIgnoreCase); - hasTrailer.AddTrailerUrl(val); - } + item.AddTrailerUrl(val); } break; } @@ -977,7 +956,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers value = value.Trim().Trim(separator); - return string.IsNullOrWhiteSpace(value) ? new string[] { } : Split(value, separator, StringSplitOptions.RemoveEmptyEntries); + return string.IsNullOrWhiteSpace(value) ? Array.Empty<string>() : Split(value, separator, StringSplitOptions.RemoveEmptyEntries); } /// <summary> @@ -987,7 +966,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers /// <param name="separators">The separators.</param> /// <param name="options">The options.</param> /// <returns>System.String[][].</returns> - private static string[] Split(string val, char[] separators, StringSplitOptions options) + private string[] Split(string val, char[] separators, StringSplitOptions options) { return val.Split(separators, options); } diff --git a/MediaBrowser.XbmcMetadata/Parsers/EpisodeNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/EpisodeNfoParser.cs index 953b59f463..ce7b924eb8 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/EpisodeNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/EpisodeNfoParser.cs @@ -24,7 +24,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers Fetch(item, metadataFile, cancellationToken); } - private static readonly CultureInfo UsCulture = new CultureInfo("en-US"); + private readonly CultureInfo UsCulture = new CultureInfo("en-US"); protected override void Fetch(MetadataResult<Episode> item, string metadataFile, XmlReaderSettings settings, CancellationToken cancellationToken) { @@ -44,18 +44,13 @@ namespace MediaBrowser.XbmcMetadata.Parsers xml = xml.Substring(0, index + srch.Length); } - using (var ms = new MemoryStream()) + // These are not going to be valid xml so no sense in causing the provider to fail and spamming the log with exceptions + try { - var bytes = Encoding.UTF8.GetBytes(xml); - - ms.Write(bytes, 0, bytes.Length); - ms.Position = 0; - - // These are not going to be valid xml so no sense in causing the provider to fail and spamming the log with exceptions - try + using (var stringReader = new StringReader(xml)) { // Use XmlReader for best performance - using (var reader = XmlReader.Create(ms, settings)) + using (var reader = XmlReader.Create(stringReader, settings)) { reader.MoveToContent(); reader.Read(); @@ -76,10 +71,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers } } } - catch (XmlException) - { + } + catch (XmlException) + { - } } } } @@ -144,55 +139,6 @@ namespace MediaBrowser.XbmcMetadata.Parsers break; } - case "absolute_number": - { - var val = reader.ReadElementContentAsString(); - - if (!string.IsNullOrWhiteSpace(val)) - { - int rval; - - // int.TryParse is local aware, so it can be probamatic, force us culture - if (int.TryParse(val, NumberStyles.Integer, UsCulture, out rval)) - { - item.AbsoluteEpisodeNumber = rval; - } - } - - break; - } - case "DVD_episodenumber": - { - var number = reader.ReadElementContentAsString(); - - if (!string.IsNullOrWhiteSpace(number)) - { - float num; - - if (float.TryParse(number, NumberStyles.Any, UsCulture, out num)) - { - item.DvdEpisodeNumber = num; - } - } - break; - } - - case "DVD_season": - { - var number = reader.ReadElementContentAsString(); - - if (!string.IsNullOrWhiteSpace(number)) - { - float num; - - if (float.TryParse(number, NumberStyles.Any, UsCulture, out num)) - { - item.DvdSeasonNumber = Convert.ToInt32(num); - } - } - break; - } - case "airsbefore_episode": { var val = reader.ReadElementContentAsString(); diff --git a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs index 0283e4a7b7..94b4c30f2a 100644 --- a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs +++ b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs @@ -125,17 +125,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers private void ParseSetXml(string xml, Movie movie) { - using (var ms = new MemoryStream()) - { - //xml = xml.Substring(xml.IndexOf('<')); - //xml = xml.Substring(0, xml.LastIndexOf('>')); - xml = "<set>" + xml + "</set>"; - - var bytes = Encoding.UTF8.GetBytes(xml); - - ms.Write(bytes, 0, bytes.Length); - ms.Position = 0; + //xml = xml.Substring(xml.IndexOf('<')); + //xml = xml.Substring(0, xml.LastIndexOf('>')); + using (var stringReader = new StringReader("<set>" + xml + "</set>")) + { // These are not going to be valid xml so no sense in causing the provider to fail and spamming the log with exceptions try { @@ -146,7 +140,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers settings.IgnoreComments = true; // Use XmlReader for best performance - using (var reader = XmlReader.Create(ms, settings)) + using (var reader = XmlReader.Create(stringReader, settings)) { reader.MoveToContent(); reader.Read(); |
