aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.XbmcMetadata
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-05-15 11:46:20 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-05-15 11:46:20 -0400
commitd2949d6e0375f4bc65566b96f3f832249ae5cedd (patch)
tree468b22f21a6db58dcbd02657084177643b4986c4 /MediaBrowser.XbmcMetadata
parent2189851f11e512228d41c6ec5a60b323389d1566 (diff)
support video_ts.nfo
Diffstat (limited to 'MediaBrowser.XbmcMetadata')
-rw-r--r--MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs5
-rw-r--r--MediaBrowser.XbmcMetadata/Providers/BaseNfoProvider.cs2
-rw-r--r--MediaBrowser.XbmcMetadata/Providers/BaseVideoNfoProvider.cs20
-rw-r--r--MediaBrowser.XbmcMetadata/Savers/MovieNfoSaver.cs25
4 files changed, 30 insertions, 22 deletions
diff --git a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
index 11cb25ab84..4d1db15f52 100644
--- a/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
+++ b/MediaBrowser.XbmcMetadata/Parsers/BaseNfoParser.cs
@@ -952,6 +952,11 @@ namespace MediaBrowser.XbmcMetadata.Parsers
var userData = GetOrAdd(userDataList, userDataUserId);
userData.PlayCount = parsedValue;
+
+ if (parsedValue > 0)
+ {
+ userData.Played = true;
+ }
}
}
}
diff --git a/MediaBrowser.XbmcMetadata/Providers/BaseNfoProvider.cs b/MediaBrowser.XbmcMetadata/Providers/BaseNfoProvider.cs
index 1ee1b42418..1e82dfce77 100644
--- a/MediaBrowser.XbmcMetadata/Providers/BaseNfoProvider.cs
+++ b/MediaBrowser.XbmcMetadata/Providers/BaseNfoProvider.cs
@@ -59,7 +59,7 @@ namespace MediaBrowser.XbmcMetadata.Providers
public bool HasChanged(IHasMetadata item, IDirectoryService directoryService, DateTime date)
{
- var file = GetXmlFile(new ItemInfo { IsInMixedFolder = item.IsInMixedFolder, Path = item.Path }, directoryService);
+ var file = GetXmlFile(new ItemInfo(item), directoryService);
if (file == null)
{
diff --git a/MediaBrowser.XbmcMetadata/Providers/BaseVideoNfoProvider.cs b/MediaBrowser.XbmcMetadata/Providers/BaseVideoNfoProvider.cs
index 8119c162c0..4dff051c7d 100644
--- a/MediaBrowser.XbmcMetadata/Providers/BaseVideoNfoProvider.cs
+++ b/MediaBrowser.XbmcMetadata/Providers/BaseVideoNfoProvider.cs
@@ -5,8 +5,10 @@ using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using MediaBrowser.XbmcMetadata.Parsers;
+using MediaBrowser.XbmcMetadata.Savers;
using System.Collections.Generic;
using System.IO;
+using System.Linq;
using System.Threading;
namespace MediaBrowser.XbmcMetadata.Providers
@@ -35,21 +37,9 @@ namespace MediaBrowser.XbmcMetadata.Providers
protected override FileSystemInfo GetXmlFile(ItemInfo info, IDirectoryService directoryService)
{
- var path = GetMovieSavePath(info, FileSystem);
-
- return directoryService.GetFile(path);
- }
-
- public static string GetMovieSavePath(ItemInfo item, IFileSystem fileSystem)
- {
- if (Directory.Exists(item.Path))
- {
- var path = item.Path;
-
- return Path.Combine(path, Path.GetFileName(path) + ".nfo");
- }
-
- return Path.ChangeExtension(item.Path, ".nfo");
+ return MovieNfoSaver.GetMovieSavePaths(info, FileSystem)
+ .Select(directoryService.GetFile)
+ .FirstOrDefault(i => i != null);
}
}
} \ No newline at end of file
diff --git a/MediaBrowser.XbmcMetadata/Savers/MovieNfoSaver.cs b/MediaBrowser.XbmcMetadata/Savers/MovieNfoSaver.cs
index e67aa42c75..b2d276b734 100644
--- a/MediaBrowser.XbmcMetadata/Savers/MovieNfoSaver.cs
+++ b/MediaBrowser.XbmcMetadata/Savers/MovieNfoSaver.cs
@@ -4,10 +4,12 @@ using MediaBrowser.Controller.Entities;
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Library;
+using MediaBrowser.Controller.Providers;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.Logging;
using System.Collections.Generic;
using System.IO;
+using System.Linq;
using System.Xml;
namespace MediaBrowser.XbmcMetadata.Savers
@@ -20,21 +22,32 @@ namespace MediaBrowser.XbmcMetadata.Savers
protected override string GetLocalSavePath(IHasMetadata item)
{
- return GetMovieSavePath(item, FileSystem);
+ return GetMovieSavePaths(new ItemInfo(item), FileSystem).FirstOrDefault();
}
- public static string GetMovieSavePath(IHasMetadata item, IFileSystem fileSystem)
+ public static List<string> GetMovieSavePaths(ItemInfo item, IFileSystem fileSystem)
{
- var video = (Video)item;
+ var list = new List<string>();
- if (video.VideoType == VideoType.Dvd || video.VideoType == VideoType.BluRay || video.VideoType == VideoType.HdDvd)
+ if (item.VideoType == VideoType.Dvd)
{
var path = item.ContainingFolderPath;
- return Path.Combine(path, Path.GetFileName(path) + ".nfo");
+ list.Add(Path.Combine(path, "VIDEO_TS.nfo"));
}
- return Path.ChangeExtension(item.Path, ".nfo");
+ if (item.VideoType == VideoType.Dvd || item.VideoType == VideoType.BluRay || item.VideoType == VideoType.HdDvd)
+ {
+ var path = item.ContainingFolderPath;
+
+ list.Add(Path.Combine(path, Path.GetFileName(path) + ".nfo"));
+ }
+ else
+ {
+ list.Add(Path.ChangeExtension(item.Path, ".nfo"));
+ }
+
+ return list;
}
protected override string GetRootElementName(IHasMetadata item)