aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2013-06-09 12:23:06 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2013-06-09 12:23:06 -0400
commit49546815945317cfd6b339d54adfe7ececff21d5 (patch)
tree61f1d4a3629f89729dcc979828ae42489a8dc975
parent4b0f055a16ae558f9c02daae7c76aca1df358e07 (diff)
added IMetadataSaver
-rw-r--r--MediaBrowser.Controller/Library/IMetadataSaver.cs27
-rw-r--r--MediaBrowser.Controller/MediaBrowser.Controller.csproj1
-rw-r--r--MediaBrowser.Model/DTO/ImageOptions.cs2
-rw-r--r--MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj1
-rw-r--r--MediaBrowser.Server.Implementations/Savers/MovieXmlSaver.cs49
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(() => { });
+ }
+ }
+}