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(() => { }); + } + } +}