aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Sync
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-02-04 14:13:00 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-02-04 14:13:00 -0500
commitf2c3e014b7b86d2e4792ce5214be44b250813ae6 (patch)
tree5ecb8cabf8a8f102748d546c2de27c838de739c6 /MediaBrowser.Server.Implementations/Sync
parent6c3209e3f95cc537cc97984ba5a4d5eee0373424 (diff)
sync updates
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sync')
-rw-r--r--MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs24
-rw-r--r--MediaBrowser.Server.Implementations/Sync/SyncManager.cs1
2 files changed, 19 insertions, 6 deletions
diff --git a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
index 328b8441a..6ef74d953 100644
--- a/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
+++ b/MediaBrowser.Server.Implementations/Sync/SyncJobProcessor.cs
@@ -172,7 +172,23 @@ namespace MediaBrowser.Server.Implementations.Sync
job.Progress = null;
}
- if (pct >= 100)
+ if (jobItems.All(i => i.Status == SyncJobItemStatus.Queued))
+ {
+ job.Status = SyncJobStatus.Queued;
+ }
+ else if (jobItems.All(i => i.Status == SyncJobItemStatus.Failed))
+ {
+ job.Status = SyncJobStatus.Failed;
+ }
+ else if (jobItems.All(i => i.Status == SyncJobItemStatus.Cancelled))
+ {
+ job.Status = SyncJobStatus.Cancelled;
+ }
+ else if (jobItems.Any(i => i.Status == SyncJobItemStatus.Converting))
+ {
+ job.Status = SyncJobStatus.Converting;
+ }
+ else if (pct >= 100)
{
if (jobItems.Any(i => i.Status == SyncJobItemStatus.Failed))
{
@@ -183,13 +199,9 @@ namespace MediaBrowser.Server.Implementations.Sync
job.Status = SyncJobStatus.Completed;
}
}
- else if (pct.Equals(0) && jobItems.All(i => i.Status == SyncJobItemStatus.Queued))
- {
- job.Status = SyncJobStatus.Queued;
- }
else
{
- job.Status = SyncJobStatus.InProgress;
+ job.Status = SyncJobStatus.Transferring;
}
return _syncRepo.Update(job);
diff --git a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
index 6034390c6..627e94eb1 100644
--- a/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
+++ b/MediaBrowser.Server.Implementations/Sync/SyncManager.cs
@@ -51,6 +51,7 @@ namespace MediaBrowser.Server.Implementations.Sync
public event EventHandler<GenericEventArgs<SyncJobCreationResult>> SyncJobCreated;
public event EventHandler<GenericEventArgs<SyncJob>> SyncJobCancelled;
+ public event EventHandler<GenericEventArgs<SyncJob>> SyncJobUpdated;
public SyncManager(ILibraryManager libraryManager, ISyncRepository repo, IImageProcessor imageProcessor, ILogger logger, IUserManager userManager, Func<IDtoService> dtoService, IApplicationHost appHost, ITVSeriesManager tvSeriesManager, Func<IMediaEncoder> mediaEncoder, IFileSystem fileSystem, Func<ISubtitleEncoder> subtitleEncoder, IConfigurationManager config)
{