diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-03-29 15:16:43 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-03-29 15:16:43 -0400 |
| commit | f641c501a78d6270793ee9c9fa185517be6df008 (patch) | |
| tree | 7c8d81191604d50b0ed71e07bbec0f6835d6250a /Emby.Server.Implementations/FileOrganization | |
| parent | cb5c9333c5f7bf318976b3790e727127ca481354 (diff) | |
improve cancellation support of auto-organize
Diffstat (limited to 'Emby.Server.Implementations/FileOrganization')
| -rw-r--r-- | Emby.Server.Implementations/FileOrganization/TvFolderOrganizer.cs | 7 |
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); |
