diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-02 16:58:51 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-02 16:58:51 -0400 |
| commit | 78f9364b034d73ec80836e2c3a3b62714c8a3bdd (patch) | |
| tree | 10e567068db1bd788c58a969c1e3c889961f5a5b /MediaBrowser.Server.Implementations/ScheduledTasks/RefreshIntrosTask.cs | |
| parent | d71d2a5d02cf31b67420b54160868247f23546bb (diff) | |
move classes to portable server project
Diffstat (limited to 'MediaBrowser.Server.Implementations/ScheduledTasks/RefreshIntrosTask.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/ScheduledTasks/RefreshIntrosTask.cs | 105 |
1 files changed, 0 insertions, 105 deletions
diff --git a/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshIntrosTask.cs b/MediaBrowser.Server.Implementations/ScheduledTasks/RefreshIntrosTask.cs deleted file mode 100644 index f10dbcfe7..000000000 --- a/MediaBrowser.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.Common.IO; -using MediaBrowser.Controller.IO; -using MediaBrowser.Model.IO; - -namespace MediaBrowser.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); - } - } -} |
