diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-07-30 22:09:23 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-07-30 22:09:23 -0400 |
| commit | a37a11c486350a35cbc9f8763c477dd189e35501 (patch) | |
| tree | 014cacfc729c1451dc5d727ea388c7bbb26182bd /MediaBrowser.Server.Implementations/FileOrganization | |
| parent | 51e964dae394ae4a211482d562dbc28e79c00c3c (diff) | |
3.0.5324.37963
Diffstat (limited to 'MediaBrowser.Server.Implementations/FileOrganization')
4 files changed, 46 insertions, 6 deletions
diff --git a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs index 594ba9d23..cf9571824 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs @@ -126,7 +126,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization var series = (Series)_libraryManager.GetItemById(new Guid(request.SeriesId)); - await OrganizeEpisode(result.OriginalPath, series, request.SeasonNumber, request.EpisodeNumber, request.EndingEpisodeNumber, _config.Configuration.TvFileOrganizationOptions, true, result, cancellationToken).ConfigureAwait(false); + await OrganizeEpisode(result.OriginalPath, series, request.SeasonNumber, request.EpisodeNumber, request.EndingEpisodeNumber, options, true, result, cancellationToken).ConfigureAwait(false); await _organizationService.SaveResult(result, CancellationToken.None).ConfigureAwait(false); diff --git a/MediaBrowser.Server.Implementations/FileOrganization/Extensions.cs b/MediaBrowser.Server.Implementations/FileOrganization/Extensions.cs new file mode 100644 index 000000000..e43ab3665 --- /dev/null +++ b/MediaBrowser.Server.Implementations/FileOrganization/Extensions.cs @@ -0,0 +1,29 @@ +using MediaBrowser.Common.Configuration; +using MediaBrowser.Model.FileOrganization; +using System.Collections.Generic; + +namespace MediaBrowser.Server.Implementations.FileOrganization +{ + public static class ConfigurationExtension + { + public static AutoOrganizeOptions GetAutoOrganizeOptions(this IConfigurationManager manager) + { + return manager.GetConfiguration<AutoOrganizeOptions>("autoorganize"); + } + } + + public class AutoOrganizeOptionsFactory : IConfigurationFactory + { + public IEnumerable<ConfigurationStore> GetConfigurations() + { + return new List<ConfigurationStore> + { + new ConfigurationStore + { + Key = "autoorganize", + ConfigurationType = typeof (AutoOrganizeOptions) + } + }; + } + } +} diff --git a/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs b/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs index 7cf38b0a0..7c5269678 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs @@ -95,6 +95,11 @@ namespace MediaBrowser.Server.Implementations.FileOrganization return _repo.Delete(resultId); } + private TvFileOrganizationOptions GetTvOptions() + { + return _config.GetAutoOrganizeOptions().TvOptions; + } + public async Task PerformOrganization(string resultId) { var result = _repo.GetResult(resultId); @@ -107,7 +112,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization var organizer = new EpisodeFileOrganizer(this, _config, _fileSystem, _logger, _libraryManager, _libraryMonitor, _providerManager); - await organizer.OrganizeEpisodeFile(result.OriginalPath, _config.Configuration.TvFileOrganizationOptions, true, CancellationToken.None) + await organizer.OrganizeEpisodeFile(result.OriginalPath, GetTvOptions(), true, CancellationToken.None) .ConfigureAwait(false); } @@ -121,7 +126,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization var organizer = new EpisodeFileOrganizer(this, _config, _fileSystem, _logger, _libraryManager, _libraryMonitor, _providerManager); - await organizer.OrganizeWithCorrection(request, _config.Configuration.TvFileOrganizationOptions, CancellationToken.None).ConfigureAwait(false); + await organizer.OrganizeWithCorrection(request, GetTvOptions(), CancellationToken.None).ConfigureAwait(false); } } } diff --git a/MediaBrowser.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs b/MediaBrowser.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs index fbb743f94..4e182ea88 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/OrganizerScheduledTask.cs @@ -4,6 +4,7 @@ using MediaBrowser.Controller.Configuration; using MediaBrowser.Controller.FileOrganization; using MediaBrowser.Controller.Library; using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.FileOrganization; using MediaBrowser.Model.Logging; using System; using System.Collections.Generic; @@ -48,10 +49,15 @@ namespace MediaBrowser.Server.Implementations.FileOrganization get { return "Library"; } } + private TvFileOrganizationOptions GetTvOptions() + { + return _config.GetAutoOrganizeOptions().TvOptions; + } + public Task Execute(CancellationToken cancellationToken, IProgress<double> progress) { return new TvFolderOrganizer(_libraryManager, _logger, _fileSystem, _libraryMonitor, _organizationService, _config, _providerManager) - .Organize(_config.Configuration.TvFileOrganizationOptions, cancellationToken, progress); + .Organize(GetTvOptions(), cancellationToken, progress); } public IEnumerable<ITaskTrigger> GetDefaultTriggers() @@ -64,12 +70,12 @@ namespace MediaBrowser.Server.Implementations.FileOrganization public bool IsHidden { - get { return !_config.Configuration.TvFileOrganizationOptions.IsEnabled; } + get { return !GetTvOptions().IsEnabled; } } public bool IsEnabled { - get { return _config.Configuration.TvFileOrganizationOptions.IsEnabled; } + get { return !GetTvOptions().IsEnabled; } } } } |
