diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-05-15 11:46:20 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2015-05-15 11:46:20 -0400 |
| commit | d2949d6e0375f4bc65566b96f3f832249ae5cedd (patch) | |
| tree | 468b22f21a6db58dcbd02657084177643b4986c4 /MediaBrowser.XbmcMetadata | |
| parent | 2189851f11e512228d41c6ec5a60b323389d1566 (diff) | |
support video_ts.nfo
Diffstat (limited to 'MediaBrowser.XbmcMetadata')
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) |
