diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-06-30 23:15:04 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2017-06-30 23:15:04 -0400 |
| commit | f6237d4d058f0a6ff3918d2ab6301cc729311fbc (patch) | |
| tree | f164a059944335970c25c9bb14f9e5ca3bc9213e | |
| parent | 7b21ff45016bf384ea4ca2d872fab203b83ea436 (diff) | |
fixes #1759 - Custom intro path change requires library scan
| -rw-r--r-- | Emby.Server.Implementations/Emby.Server.Implementations.csproj | 1 | ||||
| -rw-r--r-- | Emby.Server.Implementations/ScheduledTasks/RefreshIntrosTask.cs | 105 |
2 files changed, 0 insertions, 106 deletions
diff --git a/Emby.Server.Implementations/Emby.Server.Implementations.csproj b/Emby.Server.Implementations/Emby.Server.Implementations.csproj index a056a57d0..5486f404f 100644 --- a/Emby.Server.Implementations/Emby.Server.Implementations.csproj +++ b/Emby.Server.Implementations/Emby.Server.Implementations.csproj @@ -202,7 +202,6 @@ <Compile Include="ScheduledTasks\ChapterImagesTask.cs" /> <Compile Include="ScheduledTasks\PeopleValidationTask.cs" /> <Compile Include="ScheduledTasks\PluginUpdateTask.cs" /> - <Compile Include="ScheduledTasks\RefreshIntrosTask.cs" /> <Compile Include="ScheduledTasks\RefreshMediaLibraryTask.cs" /> <Compile Include="ScheduledTasks\SystemUpdateTask.cs" /> <Compile Include="Security\AuthenticationRepository.cs" /> diff --git a/Emby.Server.Implementations/ScheduledTasks/RefreshIntrosTask.cs b/Emby.Server.Implementations/ScheduledTasks/RefreshIntrosTask.cs deleted file mode 100644 index 9bf6f2824..000000000 --- a/Emby.Server.Implementations/ScheduledTasks/RefreshIntrosTask.cs +++ /dev/null @@ -1,105 +0,0 @@ -using MediaBrowser.Controller.Library; -using MediaBrowser.Model.Logging; -using System; -using System.Linq; -using System.Threading; -using System.Threading.Tasks; - -using MediaBrowser.Controller.IO; -using MediaBrowser.Model.IO; - -namespace Emby.Server.Implementations.ScheduledTasks -{ - /// <summary> - /// Class RefreshIntrosTask - /// </summary> - public class RefreshIntrosTask : ILibraryPostScanTask - { - /// <summary> - /// The _library manager - /// </summary> - private readonly ILibraryManager _libraryManager; - /// <summary> - /// The _logger - /// </summary> - private readonly ILogger _logger; - - private readonly IFileSystem _fileSystem; - - /// <summary> - /// Initializes a new instance of the <see cref="RefreshIntrosTask" /> class. - /// </summary> - /// <param name="libraryManager">The library manager.</param> - /// <param name="logger">The logger.</param> - /// <param name="fileSystem">The file system.</param> - public RefreshIntrosTask(ILibraryManager libraryManager, ILogger logger, IFileSystem fileSystem) - { - _libraryManager = libraryManager; - _logger = logger; - _fileSystem = fileSystem; - } - - /// <summary> - /// Runs the specified progress. - /// </summary> - /// <param name="progress">The progress.</param> - /// <param name="cancellationToken">The cancellation token.</param> - /// <returns>Task.</returns> - public async Task Run(IProgress<double> progress, CancellationToken cancellationToken) - { - var files = _libraryManager.GetAllIntroFiles().ToList(); - - var numComplete = 0; - - foreach (var file in files) - { - cancellationToken.ThrowIfCancellationRequested(); - - try - { - await RefreshIntro(file, cancellationToken).ConfigureAwait(false); - } - catch (OperationCanceledException) - { - throw; - } - catch (Exception ex) - { - _logger.ErrorException("Error refreshing intro {0}", ex, file); - } - - numComplete++; - double percent = numComplete; - percent /= files.Count; - progress.Report(percent * 100); - } - } - - /// <summary> - /// Refreshes the intro. - /// </summary> - /// <param name="path">The path.</param> - /// <param name="cancellationToken">The cancellation token.</param> - /// <returns>Task.</returns> - private async Task RefreshIntro(string path, CancellationToken cancellationToken) - { - var item = _libraryManager.ResolvePath(_fileSystem.GetFileSystemInfo(path)); - - if (item == null) - { - _logger.Error("Intro resolver returned null for {0}", path); - return; - } - - var dbItem = _libraryManager.GetItemById(item.Id); - - if (dbItem != null) - { - item = dbItem; - } - - // Force the save if it's a new item - await item.RefreshMetadata(cancellationToken).ConfigureAwait(false); - } - } -} |
