aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/FileOrganization
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2017-03-29 15:16:43 -0400
committerLuke Pulverenti <luke.pulverenti@gmail.com>2017-03-29 15:16:43 -0400
commitf641c501a78d6270793ee9c9fa185517be6df008 (patch)
tree7c8d81191604d50b0ed71e07bbec0f6835d6250a /Emby.Server.Implementations/FileOrganization
parentcb5c9333c5f7bf318976b3790e727127ca481354 (diff)
improve cancellation support of auto-organize
Diffstat (limited to 'Emby.Server.Implementations/FileOrganization')
-rw-r--r--Emby.Server.Implementations/FileOrganization/TvFolderOrganizer.cs7
1 files changed, 7 insertions, 0 deletions
diff --git a/Emby.Server.Implementations/FileOrganization/TvFolderOrganizer.cs b/Emby.Server.Implementations/FileOrganization/TvFolderOrganizer.cs
index b035fdcfd..807f1694c 100644
--- a/Emby.Server.Implementations/FileOrganization/TvFolderOrganizer.cs
+++ b/Emby.Server.Implementations/FileOrganization/TvFolderOrganizer.cs
@@ -72,17 +72,24 @@ namespace Emby.Server.Implementations.FileOrganization
foreach (var file in eligibleFiles)
{
+ cancellationToken.ThrowIfCancellationRequested();
+
var organizer = new EpisodeFileOrganizer(_organizationService, _config, _fileSystem, _logger, _libraryManager,
_libraryMonitor, _providerManager);
try
{
var result = await organizer.OrganizeEpisodeFile(file.FullName, options, options.TvOptions.OverwriteExistingEpisodes, cancellationToken).ConfigureAwait(false);
+
if (result.Status == FileSortingStatus.Success && !processedFolders.Contains(file.DirectoryName, StringComparer.OrdinalIgnoreCase))
{
processedFolders.Add(file.DirectoryName);
}
}
+ catch (OperationCanceledException)
+ {
+ break;
+ }
catch (Exception ex)
{
_logger.ErrorException("Error organizing episode {0}", ex, file.FullName);