aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/FileSorting/SortingScheduledTask.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-19 11:33:36 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-01-19 11:33:36 -0500
commit28c88174ae4c5f5ff15bf4004684d949d54c30e9 (patch)
treede046651a49ce6337be2bcc3f443273f5b062748 /MediaBrowser.Server.Implementations/FileSorting/SortingScheduledTask.cs
parent6e2d4ad150b155722bdfa0009aae51b72abcdaa1 (diff)
#680 - Support new episode file sorting
Diffstat (limited to 'MediaBrowser.Server.Implementations/FileSorting/SortingScheduledTask.cs')
-rw-r--r--MediaBrowser.Server.Implementations/FileSorting/SortingScheduledTask.cs37
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()