diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-06-09 12:23:06 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-06-09 12:23:06 -0400 |
| commit | 49546815945317cfd6b339d54adfe7ececff21d5 (patch) | |
| tree | 61f1d4a3629f89729dcc979828ae42489a8dc975 | |
| parent | 4b0f055a16ae558f9c02daae7c76aca1df358e07 (diff) | |
added IMetadataSaver
5 files changed, 79 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Library/IMetadataSaver.cs b/MediaBrowser.Controller/Library/IMetadataSaver.cs new file mode 100644 index 000000000..fbb8af626 --- /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 +{ + /// <summary> + /// Interface IMetadataSaver + /// </summary> + public interface IMetadataSaver + { + /// <summary> + /// Supportses the specified item. + /// </summary> + /// <param name="item">The item.</param> + /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns> + bool Supports(BaseItem item); + + /// <summary> + /// Saves the specified item. + /// </summary> + /// <param name="item">The item.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task.</returns> + Task Save(BaseItem item, CancellationToken cancellationToken); + } +} diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 04e0a31ac..feb3d90dd 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -76,6 +76,7 @@ <Compile Include="Entities\MusicVideo.cs" /> <Compile Include="Library\ILibraryPostScanTask.cs" /> <Compile Include="Library\ILibraryPrescanTask.cs" /> + <Compile Include="Library\IMetadataSaver.cs" /> <Compile Include="Localization\ILocalizationManager.cs" /> <Compile Include="Providers\Movies\FanArtMovieUpdatesPrescanTask.cs" /> <Compile Include="Providers\Movies\MovieDbImagesProvider.cs" /> diff --git a/MediaBrowser.Model/DTO/ImageOptions.cs b/MediaBrowser.Model/DTO/ImageOptions.cs index d6a9fd0ff..5a306ec49 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]. /// </summary> /// <value><c>true</c> if [enable image enhancers]; otherwise, <c>false</c>.</value> - 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 60afc8413..1f215dde0 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -143,6 +143,7 @@ <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Providers\ProviderManager.cs" /> <Compile Include="Reflection\TypeMapper.cs" /> + <Compile Include="Savers\MovieXmlSaver.cs" /> <Compile Include="ScheduledTasks\ArtistValidationTask.cs" /> <Compile Include="ScheduledTasks\PeopleValidationTask.cs" /> <Compile Include="ScheduledTasks\ChapterImagesTask.cs" /> diff --git a/MediaBrowser.Server.Implementations/Savers/MovieXmlSaver.cs b/MediaBrowser.Server.Implementations/Savers/MovieXmlSaver.cs new file mode 100644 index 000000000..f536f9496 --- /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 +{ + /// <summary> + /// Saves movie.xml for movies, trailers and music videos + /// </summary> + public class MovieXmlSaver : IMetadataSaver + { + /// <summary> + /// Supportses the specified item. + /// </summary> + /// <param name="item">The item.</param> + /// <returns><c>true</c> if XXXX, <c>false</c> otherwise</returns> + 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; + } + + /// <summary> + /// Saves the specified item. + /// </summary> + /// <param name="item">The item.</param> + /// <param name="cancellationToken">The cancellation token.</param> + /// <returns>Task.</returns> + public Task Save(BaseItem item, CancellationToken cancellationToken) + { + return Task.Run(() => { }); + } + } +} |
