From e92e0365747c04f081be0efbb9afb78dc96aef9b Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 15 Dec 2014 00:16:23 -0500 Subject: add new sync methods --- MediaBrowser.Model/Sync/SyncHelper.cs | 51 +++++++++++++++++++++++++++++++ MediaBrowser.Model/Sync/SyncJob.cs | 5 --- MediaBrowser.Model/Sync/SyncJobRequest.cs | 5 --- MediaBrowser.Model/Sync/SyncOptions.cs | 11 +++++++ 4 files changed, 62 insertions(+), 10 deletions(-) create mode 100644 MediaBrowser.Model/Sync/SyncHelper.cs create mode 100644 MediaBrowser.Model/Sync/SyncOptions.cs (limited to 'MediaBrowser.Model/Sync') diff --git a/MediaBrowser.Model/Sync/SyncHelper.cs b/MediaBrowser.Model/Sync/SyncHelper.cs new file mode 100644 index 0000000000..ac595b5efc --- /dev/null +++ b/MediaBrowser.Model/Sync/SyncHelper.cs @@ -0,0 +1,51 @@ +using MediaBrowser.Model.Dto; +using System.Collections.Generic; + +namespace MediaBrowser.Model.Sync +{ + public static class SyncHelper + { + public static List GetSyncOptions(List items) + { + List options = new List(); + + if (items.Count > 1) + { + options.Add(SyncOptions.Name); + } + + foreach (BaseItemDto item in items) + { + if (item.SupportsSync ?? false) + { + if (item.IsVideo) + { + options.Add(SyncOptions.Quality); + options.Add(SyncOptions.UnwatchedOnly); + break; + } + if (item.IsFolder && !item.IsMusicGenre && !item.IsArtist && !item.IsType("musicalbum") && !item.IsGameGenre) + { + options.Add(SyncOptions.Quality); + options.Add(SyncOptions.UnwatchedOnly); + break; + } + } + } + + foreach (BaseItemDto item in items) + { + if (item.SupportsSync ?? false) + { + if (item.IsFolder || item.IsGameGenre || item.IsMusicGenre || item.IsGenre || item.IsArtist || item.IsStudio || item.IsPerson) + { + options.Add(SyncOptions.SyncNewContent); + break; + } + } + } + + return options; + } + } +} diff --git a/MediaBrowser.Model/Sync/SyncJob.cs b/MediaBrowser.Model/Sync/SyncJob.cs index db67f3cbb5..491223db51 100644 --- a/MediaBrowser.Model/Sync/SyncJob.cs +++ b/MediaBrowser.Model/Sync/SyncJob.cs @@ -46,11 +46,6 @@ namespace MediaBrowser.Model.Sync /// true if [unwatched only]; otherwise, false. public bool UnwatchedOnly { get; set; } /// - /// Gets or sets a value indicating whether [remove when watched]. - /// - /// true if [remove when watched]; otherwise, false. - public bool RemoveWhenWatched { get; set; } - /// /// Gets or sets a value indicating whether [synchronize new content]. /// /// true if [synchronize new content]; otherwise, false. diff --git a/MediaBrowser.Model/Sync/SyncJobRequest.cs b/MediaBrowser.Model/Sync/SyncJobRequest.cs index 4e044d62a2..42a40acc73 100644 --- a/MediaBrowser.Model/Sync/SyncJobRequest.cs +++ b/MediaBrowser.Model/Sync/SyncJobRequest.cs @@ -35,11 +35,6 @@ namespace MediaBrowser.Model.Sync /// true if [unwatched only]; otherwise, false. public bool UnwatchedOnly { get; set; } /// - /// Gets or sets a value indicating whether [remove when watched]. - /// - /// true if [remove when watched]; otherwise, false. - public bool RemoveWhenWatched { get; set; } - /// /// Gets or sets a value indicating whether [synchronize new content]. /// /// true if [synchronize new content]; otherwise, false. diff --git a/MediaBrowser.Model/Sync/SyncOptions.cs b/MediaBrowser.Model/Sync/SyncOptions.cs new file mode 100644 index 0000000000..edf22f7999 --- /dev/null +++ b/MediaBrowser.Model/Sync/SyncOptions.cs @@ -0,0 +1,11 @@ + +namespace MediaBrowser.Model.Sync +{ + public enum SyncOptions + { + Name = 0, + Quality = 1, + UnwatchedOnly = 2, + SyncNewContent + } +} -- cgit v1.2.3