aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sync/SyncManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Sync/SyncManager.cs37
1 files changed, 26 insertions, 11 deletions
diff --git a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
index 6c71a90a0..18fcb4e79 100644
--- a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
+++ b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
@@ -1,8 +1,8 @@
-using MediaBrowser.Common;
-using MediaBrowser.Common.Configuration;
+using MediaBrowser.Common.Configuration;
using MediaBrowser.Common.Events;
using MediaBrowser.Common.Extensions;
using MediaBrowser.Common.IO;
+using MediaBrowser.Common.ScheduledTasks;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Channels;
using MediaBrowser.Controller.Drawing;
@@ -32,7 +32,6 @@ using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
-using MediaBrowser.Common.ScheduledTasks;
namespace MediaBrowser.Server.Implementations.Sync
{
@@ -52,8 +51,8 @@ namespace MediaBrowser.Server.Implementations.Sync
private readonly IConfigurationManager _config;
private readonly IUserDataManager _userDataManager;
private readonly Func<IMediaSourceManager> _mediaSourceManager;
- private readonly IJsonSerializer _json;
- private readonly ITaskManager _taskManager;
+ private readonly IJsonSerializer _json;
+ private readonly ITaskManager _taskManager;
private ISyncProvider[] _providers = { };
@@ -63,7 +62,7 @@ namespace MediaBrowser.Server.Implementations.Sync
public event EventHandler<GenericEventArgs<SyncJobItem>> SyncJobItemUpdated;
public event EventHandler<GenericEventArgs<SyncJobItem>> SyncJobItemCreated;
- public SyncManager(ILibraryManager libraryManager, ISyncRepository repo, IImageProcessor imageProcessor, ILogger logger, IUserManager userManager, Func<IDtoService> dtoService, IServerApplicationHost appHost, ITVSeriesManager tvSeriesManager, Func<IMediaEncoder> mediaEncoder, IFileSystem fileSystem, Func<ISubtitleEncoder> subtitleEncoder, IConfigurationManager config, IUserDataManager userDataManager, Func<IMediaSourceManager> mediaSourceManager, IJsonSerializer json, ITaskManager taskManager)
+ public SyncManager(ILibraryManager libraryManager, ISyncRepository repo, IImageProcessor imageProcessor, ILogger logger, IUserManager userManager, Func<IDtoService> dtoService, IServerApplicationHost appHost, ITVSeriesManager tvSeriesManager, Func<IMediaEncoder> mediaEncoder, IFileSystem fileSystem, Func<ISubtitleEncoder> subtitleEncoder, IConfigurationManager config, IUserDataManager userDataManager, Func<IMediaSourceManager> mediaSourceManager, IJsonSerializer json, ITaskManager taskManager)
{
_libraryManager = libraryManager;
_repo = repo;
@@ -80,7 +79,7 @@ namespace MediaBrowser.Server.Implementations.Sync
_userDataManager = userDataManager;
_mediaSourceManager = mediaSourceManager;
_json = json;
- _taskManager = taskManager;
+ _taskManager = taskManager;
}
public void AddParts(IEnumerable<ISyncProvider> providers)
@@ -126,7 +125,7 @@ namespace MediaBrowser.Server.Implementations.Sync
if (string.IsNullOrWhiteSpace(request.Name))
{
- throw new ArgumentException("Please supply a name for the sync job.");
+ request.Name = DateTime.Now.ToShortDateString() + " " + DateTime.Now.ToShortTimeString();
}
var target = GetSyncTargets(request.UserId)
@@ -217,9 +216,10 @@ namespace MediaBrowser.Server.Implementations.Sync
}, _logger);
}
- if (returnResult.JobItems.Any (i => i.Status == SyncJobItemStatus.Queued || i.Status == SyncJobItemStatus.Converting)) {
- _taskManager.QueueScheduledTask<SyncConvertScheduledTask> ();
- }
+ if (returnResult.JobItems.Any(i => i.Status == SyncJobItemStatus.Queued || i.Status == SyncJobItemStatus.Converting))
+ {
+ _taskManager.QueueScheduledTask<SyncConvertScheduledTask>();
+ }
return returnResult;
}
@@ -1159,6 +1159,21 @@ namespace MediaBrowser.Server.Implementations.Sync
return options;
}
+ public ISyncProvider GetSyncProvider(SyncJobItem jobItem, SyncJob job)
+ {
+ foreach (var provider in _providers)
+ {
+ foreach (var target in GetSyncTargets(provider))
+ {
+ if (string.Equals(target.Id, jobItem.TargetId, StringComparison.OrdinalIgnoreCase))
+ {
+ return provider;
+ }
+ }
+ }
+ return null;
+ }
+
public SyncJobOptions GetVideoOptions(SyncJobItem jobItem, SyncJob job)
{
var options = GetSyncJobOptions(jobItem.TargetId, job.Profile, job.Quality);