diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-19 11:33:36 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-19 11:33:36 -0500 |
| commit | 28c88174ae4c5f5ff15bf4004684d949d54c30e9 (patch) | |
| tree | de046651a49ce6337be2bcc3f443273f5b062748 /MediaBrowser.Server.Implementations/FileSorting/SortingScheduledTask.cs | |
| parent | 6e2d4ad150b155722bdfa0009aae51b72abcdaa1 (diff) | |
#680 - Support new episode file sorting
Diffstat (limited to 'MediaBrowser.Server.Implementations/FileSorting/SortingScheduledTask.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/FileSorting/SortingScheduledTask.cs | 37 |
1 files changed, 6 insertions, 31 deletions
diff --git a/MediaBrowser.Server.Implementations/FileSorting/SortingScheduledTask.cs b/MediaBrowser.Server.Implementations/FileSorting/SortingScheduledTask.cs index 201e282c0..a9d7ada94 100644 --- a/MediaBrowser.Server.Implementations/FileSorting/SortingScheduledTask.cs +++ b/MediaBrowser.Server.Implementations/FileSorting/SortingScheduledTask.cs @@ -1,10 +1,10 @@ -using MediaBrowser.Common.ScheduledTasks; +using MediaBrowser.Common.IO; +using MediaBrowser.Common.ScheduledTasks; using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.Library; using MediaBrowser.Model.Logging; using System; using System.Collections.Generic; -using System.Linq; using System.Threading; using System.Threading.Tasks; @@ -15,12 +15,14 @@ namespace MediaBrowser.Server.Implementations.FileSorting private readonly IServerConfigurationManager _config; private readonly ILogger _logger; private readonly ILibraryManager _libraryManager; + private readonly IFileSystem _fileSystem; - public SortingScheduledTask(IServerConfigurationManager config, ILogger logger, ILibraryManager libraryManager) + public SortingScheduledTask(IServerConfigurationManager config, ILogger logger, ILibraryManager libraryManager, IFileSystem fileSystem) { _config = config; _logger = logger; _libraryManager = libraryManager; + _fileSystem = fileSystem; } public string Name @@ -45,34 +47,7 @@ namespace MediaBrowser.Server.Implementations.FileSorting private void SortFiles(CancellationToken cancellationToken, IProgress<double> progress) { - var numComplete = 0; - - var paths = _config.Configuration.FileSortingOptions.TvWatchLocations.ToList(); - - foreach (var path in paths) - { - cancellationToken.ThrowIfCancellationRequested(); - - try - { - SortFiles(path); - } - catch (Exception ex) - { - _logger.ErrorException("Error sorting files from {0}", ex, path); - } - - numComplete++; - double percent = numComplete; - percent /= paths.Count; - - progress.Report(100 * percent); - } - } - - private void SortFiles(string path) - { - new TvFileSorter(_libraryManager, _logger).Sort(path, _config.Configuration.FileSortingOptions); + new TvFileSorter(_libraryManager, _logger, _fileSystem).Sort(_config.Configuration.FileSortingOptions, cancellationToken, progress); } public IEnumerable<ITaskTrigger> GetDefaultTriggers() |
