From 49546815945317cfd6b339d54adfe7ececff21d5 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 9 Jun 2013 12:23:06 -0400 Subject: [PATCH] added IMetadataSaver --- .../Library/IMetadataSaver.cs | 27 ++++++++++ .../MediaBrowser.Controller.csproj | 1 + MediaBrowser.Model/DTO/ImageOptions.cs | 2 +- ...MediaBrowser.Server.Implementations.csproj | 1 + .../Savers/MovieXmlSaver.cs | 49 +++++++++++++++++++ 5 files changed, 79 insertions(+), 1 deletion(-) create mode 100644 MediaBrowser.Controller/Library/IMetadataSaver.cs create mode 100644 MediaBrowser.Server.Implementations/Savers/MovieXmlSaver.cs diff --git a/MediaBrowser.Controller/Library/IMetadataSaver.cs b/MediaBrowser.Controller/Library/IMetadataSaver.cs new file mode 100644 index 0000000000..fbb8af626a --- /dev/null +++ b/MediaBrowser.Controller/Library/IMetadataSaver.cs @@ -0,0 +1,27 @@ +using MediaBrowser.Controller.Entities; +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Controller.Library +{ + /// + /// Interface IMetadataSaver + /// + public interface IMetadataSaver + { + /// + /// Supportses the specified item. + /// + /// The item. + /// true if XXXX, false otherwise + bool Supports(BaseItem item); + + /// + /// Saves the specified item. + /// + /// The item. + /// The cancellation token. + /// Task. + Task Save(BaseItem item, CancellationToken cancellationToken); + } +} diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 04e0a31ac6..feb3d90dd7 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -76,6 +76,7 @@ + diff --git a/MediaBrowser.Model/DTO/ImageOptions.cs b/MediaBrowser.Model/DTO/ImageOptions.cs index d6a9fd0ff5..5a306ec497 100644 --- a/MediaBrowser.Model/DTO/ImageOptions.cs +++ b/MediaBrowser.Model/DTO/ImageOptions.cs @@ -67,6 +67,6 @@ namespace MediaBrowser.Model.Dto /// Gets or sets a value indicating whether [enable image enhancers]. /// /// true if [enable image enhancers]; otherwise, false. - public bool? EnableImageEnhancers { get; set; } + public bool EnableImageEnhancers { get; set; } } } diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index 60afc8413d..1f215dde0f 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -143,6 +143,7 @@ + diff --git a/MediaBrowser.Server.Implementations/Savers/MovieXmlSaver.cs b/MediaBrowser.Server.Implementations/Savers/MovieXmlSaver.cs new file mode 100644 index 0000000000..f536f94964 --- /dev/null +++ b/MediaBrowser.Server.Implementations/Savers/MovieXmlSaver.cs @@ -0,0 +1,49 @@ +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Movies; +using MediaBrowser.Controller.Library; +using MediaBrowser.Model.Entities; +using System.Threading; +using System.Threading.Tasks; + +namespace MediaBrowser.Server.Implementations.Savers +{ + /// + /// Saves movie.xml for movies, trailers and music videos + /// + public class MovieXmlSaver : IMetadataSaver + { + /// + /// Supportses the specified item. + /// + /// The item. + /// true if XXXX, false otherwise + public bool Supports(BaseItem item) + { + if (item.LocationType != LocationType.FileSystem) + { + return false; + } + + var trailer = item as Trailer; + + if (trailer != null) + { + return !trailer.IsLocalTrailer; + } + + // Don't support local trailers + return item is Movie || item is MusicVideo; + } + + /// + /// Saves the specified item. + /// + /// The item. + /// The cancellation token. + /// Task. + public Task Save(BaseItem item, CancellationToken cancellationToken) + { + return Task.Run(() => { }); + } + } +}