aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.XbmcMetadata/Parsers
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.XbmcMetadata/Parsers')
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs36
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs16
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs22
3 files changed, 31 insertions, 43 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
index 6857d655f..c1c2e7d9d 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
@@ -253,7 +253,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
int value;
if (!string.IsNullOrWhiteSpace(tmdbId) && int.TryParse(tmdbId, NumberStyles.Any, CultureInfo.InvariantCulture, out value))
{
- item.SetProviderId(MetadataProviders.Tmdb, tmdbId);
+ item.SetProviderId(MetadataProviders.Tmdb, value.ToString(_usCulture));
}
}
@@ -269,7 +269,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
int value;
if (!string.IsNullOrWhiteSpace(tvdbId) && int.TryParse(tvdbId, NumberStyles.Any, CultureInfo.InvariantCulture, out value))
{
- item.SetProviderId(MetadataProviders.Tvdb, tvdbId);
+ item.SetProviderId(MetadataProviders.Tvdb, value.ToString(_usCulture));
}
}
}
@@ -316,10 +316,6 @@ namespace MediaBrowser.XbmcMetadata.Parsers
break;
}
- case "type":
- item.DisplayMediaType = reader.ReadElementContentAsString();
- break;
-
case "title":
case "localtitle":
item.Name = reader.ReadElementContentAsString();
@@ -398,13 +394,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
case "lockedfields":
{
- var fields = new List<MetadataFields>();
-
var val = reader.ReadElementContentAsString();
if (!string.IsNullOrWhiteSpace(val))
{
- var list = val.Split('|').Select(i =>
+ item.LockedFields = val.Split('|').Select(i =>
{
MetadataFields field;
@@ -415,13 +409,9 @@ namespace MediaBrowser.XbmcMetadata.Parsers
return null;
- }).Where(i => i.HasValue).Select(i => i.Value);
-
- fields.AddRange(list);
+ }).Where(i => i.HasValue).Select(i => i.Value).ToArray();
}
- item.LockedFields = fields;
-
break;
}
@@ -442,9 +432,10 @@ namespace MediaBrowser.XbmcMetadata.Parsers
if (!string.IsNullOrWhiteSpace(val))
{
- item.ProductionLocations.AddRange(val.Split('/')
+ item.ProductionLocations = val.Split('/')
.Select(i => i.Trim())
- .Where(i => !string.IsNullOrWhiteSpace(i)));
+ .Where(i => !string.IsNullOrWhiteSpace(i))
+ .ToArray();
}
break;
}
@@ -608,7 +599,7 @@ namespace MediaBrowser.XbmcMetadata.Parsers
{
val = val.Replace("plugin://plugin.video.youtube/?action=play_video&videoid=", "https://www.youtube.com/watch?v=", StringComparison.OrdinalIgnoreCase);
- hasTrailer.AddTrailerUrl(val, false);
+ hasTrailer.AddTrailerUrl(val);
}
}
break;
@@ -926,17 +917,6 @@ namespace MediaBrowser.XbmcMetadata.Parsers
name = reader.ReadElementContentAsString() ?? string.Empty;
break;
- case "type":
- {
- var val = reader.ReadElementContentAsString();
-
- if (!string.IsNullOrWhiteSpace(val))
- {
- type = val;
- }
- break;
- }
-
case "role":
{
var val = reader.ReadElementContentAsString();
diff --git a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs
index 035ac15c0..85f9f92ba 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/MovieNfoParser.cs
@@ -1,4 +1,5 @@
-using MediaBrowser.Common.Configuration;
+using System.Linq;
+using MediaBrowser.Common.Configuration;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Providers;
@@ -60,10 +61,15 @@ namespace MediaBrowser.XbmcMetadata.Parsers
movie.SetProviderId(MetadataProviders.TmdbCollection, tmdbcolid);
}
- var val = reader.ReadElementContentAsString();
+ var val = reader.ReadInnerXml();
+
if (!string.IsNullOrWhiteSpace(val) && movie != null)
{
- movie.CollectionName = val;
+ // TODO Handle this better later
+ if (val.IndexOf('<') == -1)
+ {
+ movie.CollectionName = val;
+ }
}
break;
@@ -76,7 +82,9 @@ namespace MediaBrowser.XbmcMetadata.Parsers
if (!string.IsNullOrWhiteSpace(val) && movie != null)
{
- movie.Artists.Add(val);
+ var list = movie.Artists.ToList();
+ list.Add(val);
+ movie.Artists = list.ToArray();
}
break;
diff --git a/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
index b0db4e6f3..570a7fed8 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/SeriesNfoParser.cs
@@ -62,21 +62,21 @@ namespace MediaBrowser.XbmcMetadata.Parsers
break;
}
case "airs_dayofweek":
- {
- item.AirDays = TVUtils.GetAirDays(reader.ReadElementContentAsString());
- break;
- }
+ {
+ item.AirDays = TVUtils.GetAirDays(reader.ReadElementContentAsString());
+ break;
+ }
case "airs_time":
- {
- var val = reader.ReadElementContentAsString();
+ {
+ var val = reader.ReadElementContentAsString();
- if (!string.IsNullOrWhiteSpace(val))
- {
- item.AirTime = val;
- }
- break;
+ if (!string.IsNullOrWhiteSpace(val))
+ {
+ item.AirTime = val;
}
+ break;
+ }
case "status":
{