sync updates

This commit is contained in:
Luke Pulverenti
2015-03-07 12:19:44 -05:00
parent daf2c28eb7
commit 19ecd450b8
7 changed files with 128 additions and 9 deletions

View File

@@ -0,0 +1,81 @@
using MediaBrowser.Common.IO;
using MediaBrowser.Common.ScheduledTasks;
using MediaBrowser.Controller;
using MediaBrowser.Controller.Sync;
using MediaBrowser.Model.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;
namespace MediaBrowser.Server.Implementations.Sync
{
class ServerSyncScheduledTask : IScheduledTask, IConfigurableScheduledTask, IHasKey
{
private readonly ISyncManager _syncManager;
private readonly ILogger _logger;
private readonly IFileSystem _fileSystem;
private readonly IServerApplicationHost _appHost;
public ServerSyncScheduledTask(ISyncManager syncManager, ILogger logger, IFileSystem fileSystem, IServerApplicationHost appHost)
{
_syncManager = syncManager;
_logger = logger;
_fileSystem = fileSystem;
_appHost = appHost;
}
public string Name
{
get { return "Cloud & Folder Sync"; }
}
public string Description
{
get { return "Sync media to the cloud"; }
}
public string Category
{
get
{
return "Sync";
}
}
public Task Execute(CancellationToken cancellationToken, IProgress<double> progress)
{
return new MultiProviderSync(_syncManager, _appHost, _logger, _fileSystem)
.Sync(ServerSyncProviders, progress, cancellationToken);
}
public IEnumerable<IServerSyncProvider> ServerSyncProviders
{
get { return ((SyncManager)_syncManager).ServerSyncProviders; }
}
public IEnumerable<ITaskTrigger> GetDefaultTriggers()
{
return new ITaskTrigger[]
{
new IntervalTrigger { Interval = TimeSpan.FromHours(6) }
};
}
public bool IsHidden
{
get { return !IsEnabled; }
}
public bool IsEnabled
{
get { return ServerSyncProviders.Any(); }
}
public string Key
{
get { return "ServerSync"; }
}
}
}

View File

@@ -13,7 +13,7 @@ using System.Threading.Tasks;
namespace MediaBrowser.Server.Implementations.Sync
{
public class SyncScheduledTask : IScheduledTask, IConfigurableScheduledTask, IHasKey
public class SyncConvertScheduledTask : IScheduledTask, IConfigurableScheduledTask, IHasKey
{
private readonly ILibraryManager _libraryManager;
private readonly ISyncRepository _syncRepo;
@@ -26,7 +26,7 @@ namespace MediaBrowser.Server.Implementations.Sync
private readonly IConfigurationManager _config;
private readonly IFileSystem _fileSystem;
public SyncScheduledTask(ILibraryManager libraryManager, ISyncRepository syncRepo, ISyncManager syncManager, ILogger logger, IUserManager userManager, ITVSeriesManager tvSeriesManager, IMediaEncoder mediaEncoder, ISubtitleEncoder subtitleEncoder, IConfigurationManager config, IFileSystem fileSystem)
public SyncConvertScheduledTask(ILibraryManager libraryManager, ISyncRepository syncRepo, ISyncManager syncManager, ILogger logger, IUserManager userManager, ITVSeriesManager tvSeriesManager, IMediaEncoder mediaEncoder, ISubtitleEncoder subtitleEncoder, IConfigurationManager config, IFileSystem fileSystem)
{
_libraryManager = libraryManager;
_syncRepo = syncRepo;

View File

@@ -79,6 +79,11 @@ namespace MediaBrowser.Server.Implementations.Sync
_providers = providers.ToArray();
}
public IEnumerable<IServerSyncProvider> ServerSyncProviders
{
get { return _providers.OfType<IServerSyncProvider>(); }
}
public async Task<SyncJobCreationResult> CreateJob(SyncJobRequest request)
{
var processor = GetSyncJobProcessor();
@@ -438,8 +443,9 @@ namespace MediaBrowser.Server.Implementations.Sync
return target.Id;
}
var providerId = GetSyncProviderId(provider);
return (providerId + "-" + target.Id).GetMD5().ToString("N");
return target.Id;
//var providerId = GetSyncProviderId(provider);
//return (providerId + "-" + target.Id).GetMD5().ToString("N");
}
private string GetSyncProviderId(ISyncProvider provider)