diff options
| author | Luke <luke.pulverenti@gmail.com> | 2015-03-19 13:21:35 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2015-03-19 13:21:35 -0400 |
| commit | 9926be0d9de688c04065c916e44ada4177b38a80 (patch) | |
| tree | 15338144a143948ffbee316641757e81489a7354 /MediaBrowser.Api/Sync/SyncHelper.cs | |
| parent | b756e677d733992c2033bdd369980a37e17609e4 (diff) | |
| parent | 0564d454e5ad4f59702aa9022af6bb8fd064a9ff (diff) | |
Merge pull request #1043 from MediaBrowser/dev
3.0.5557.0
Diffstat (limited to 'MediaBrowser.Api/Sync/SyncHelper.cs')
| -rw-r--r-- | MediaBrowser.Api/Sync/SyncHelper.cs | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/MediaBrowser.Api/Sync/SyncHelper.cs b/MediaBrowser.Api/Sync/SyncHelper.cs new file mode 100644 index 000000000..6a5b6a927 --- /dev/null +++ b/MediaBrowser.Api/Sync/SyncHelper.cs @@ -0,0 +1,78 @@ +using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Sync; +using System.Collections.Generic; + +namespace MediaBrowser.Api.Sync +{ + public static class SyncHelper + { + public static List<SyncJobOption> GetSyncOptions(List<BaseItemDto> items) + { + List<SyncJobOption> options = new List<SyncJobOption>(); + + if (items.Count > 1) + { + options.Add(SyncJobOption.Name); + } + + foreach (BaseItemDto item in items) + { + if (item.SupportsSync ?? false) + { + if (item.IsVideo) + { + options.Add(SyncJobOption.Quality); + options.Add(SyncJobOption.Profile); + if (items.Count > 1) + { + options.Add(SyncJobOption.UnwatchedOnly); + } + break; + } + if (item.IsFolder && !item.IsMusicGenre && !item.IsArtist && !item.IsType("musicalbum") && !item.IsGameGenre) + { + options.Add(SyncJobOption.Quality); + options.Add(SyncJobOption.Profile); + options.Add(SyncJobOption.UnwatchedOnly); + break; + } + if (item.IsGenre) + { + options.Add(SyncJobOption.SyncNewContent); + options.Add(SyncJobOption.ItemLimit); + 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(SyncJobOption.SyncNewContent); + options.Add(SyncJobOption.ItemLimit); + break; + } + } + } + + return options; + } + + public static List<SyncJobOption> GetSyncOptions(SyncCategory category) + { + List<SyncJobOption> options = new List<SyncJobOption>(); + + options.Add(SyncJobOption.Name); + options.Add(SyncJobOption.Quality); + options.Add(SyncJobOption.Profile); + options.Add(SyncJobOption.UnwatchedOnly); + options.Add(SyncJobOption.SyncNewContent); + options.Add(SyncJobOption.ItemLimit); + + return options; + } + } +} |
