aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.XbmcMetadata
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-03-31 15:33:38 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-03-31 15:33:38 -0400
commit0bcc43098ea5d58b7ae346e9f9599547d64259c2 (patch)
treed222c617e727ec87e77ef1517c810969f13e91d7 /MediaBrowser.XbmcMetadata
parent2632093ebbc95f8963b8d3adbd973dda61854496 (diff)
fix handling of bare nfo's
Diffstat (limited to 'MediaBrowser.XbmcMetadata')
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs14
-rw-r--r--MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs14
2 files changed, 23 insertions, 5 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
index 682175f793..c854f9f4a2 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
@@ -138,6 +138,20 @@ namespace MediaBrowser.XbmcMetadata.Parsers
xml = xml.Substring(0, index + 1);
}
+ else
+ {
+ // If the file is just an Imdb url, handle that
+
+ var imdbId = xml.Split('/')
+ .FirstOrDefault(i => i.StartsWith("tt", StringComparison.OrdinalIgnoreCase));
+
+ if (!string.IsNullOrWhiteSpace(imdbId))
+ {
+ item.SetProviderId(MetadataProviders.Imdb, imdbId);
+ }
+
+ return;
+ }
using (var ms = new MemoryStream())
{
diff --git a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
index 3224f36bc6..5c4319d228 100644
--- a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
+++ b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs
@@ -153,7 +153,7 @@ namespace MediaBrowser.XbmcMetadata.Savers
{
return GetLocalSavePath(item);
}
-
+
/// <summary>
/// Gets the save path.
/// </summary>
@@ -184,7 +184,7 @@ namespace MediaBrowser.XbmcMetadata.Savers
public void Save(IHasMetadata item, CancellationToken cancellationToken)
{
var path = GetSavePath(item);
-
+
using (var memoryStream = new MemoryStream())
{
Save(item, memoryStream, path);
@@ -275,6 +275,10 @@ namespace MediaBrowser.XbmcMetadata.Savers
{
}
+ catch (XmlException ex)
+ {
+ Logger.ErrorException("Error reading existng nfo", ex);
+ }
writer.WriteEndElement();
@@ -466,8 +470,8 @@ namespace MediaBrowser.XbmcMetadata.Savers
{
writer.WriteElementString("originaltitle", hasOriginalTitle.OriginalTitle ?? string.Empty);
}
- }
-
+ }
+
var directors = item.People
.Where(i => IsPersonType(i, PersonType.Director))
.Select(i => i.Name)
@@ -978,7 +982,7 @@ namespace MediaBrowser.XbmcMetadata.Savers
{
writer.WriteElementString("type", person.Type);
}
-
+
if (person.SortOrder.HasValue)
{
writer.WriteElementString("sortorder", person.SortOrder.Value.ToString(UsCulture));