< Summary - Jellyfin

Information
Class: Emby.Server.Implementations.ScheduledTasks.Tasks.RefreshMediaLibraryTask
Assembly: Emby.Server.Implementations
File(s): /srv/git/jellyfin/Emby.Server.Implementations/ScheduledTasks/Tasks/RefreshMediaLibraryTask.cs
Line coverage
80%
Covered lines: 8
Uncovered lines: 2
Coverable lines: 10
Total lines: 65
Line coverage: 80%
Branch coverage
N/A
Covered branches: 0
Total branches: 0
Branch coverage: N/A
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Coverage history

Coverage history 0 25 50 75 100

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
get_Name()100%11100%
get_Description()100%210%
get_Category()100%210%
get_Key()100%11100%
ExecuteAsync(...)100%11100%

File(s)

/srv/git/jellyfin/Emby.Server.Implementations/ScheduledTasks/Tasks/RefreshMediaLibraryTask.cs

#LineLine coverage
 1using System;
 2using System.Collections.Generic;
 3using System.Threading;
 4using System.Threading.Tasks;
 5using Emby.Server.Implementations.Library;
 6using MediaBrowser.Controller.Library;
 7using MediaBrowser.Model.Globalization;
 8using MediaBrowser.Model.Tasks;
 9
 10namespace Emby.Server.Implementations.ScheduledTasks.Tasks;
 11
 12/// <summary>
 13/// Class RefreshMediaLibraryTask.
 14/// </summary>
 15public class RefreshMediaLibraryTask : IScheduledTask
 16{
 17    /// <summary>
 18    /// The _library manager.
 19    /// </summary>
 20    private readonly ILibraryManager _libraryManager;
 21    private readonly ILocalizationManager _localization;
 22
 23    /// <summary>
 24    /// Initializes a new instance of the <see cref="RefreshMediaLibraryTask" /> class.
 25    /// </summary>
 26    /// <param name="libraryManager">Instance of the <see cref="ILibraryManager"/> interface.</param>
 27    /// <param name="localization">Instance of the <see cref="ILocalizationManager"/> interface.</param>
 28    public RefreshMediaLibraryTask(ILibraryManager libraryManager, ILocalizationManager localization)
 29    {
 2130        _libraryManager = libraryManager;
 2131        _localization = localization;
 2132    }
 33
 34    /// <inheritdoc />
 11535    public string Name => _localization.GetLocalizedString("TaskRefreshLibrary");
 36
 37    /// <inheritdoc />
 038    public string Description => _localization.GetLocalizedString("TaskRefreshLibraryDescription");
 39
 40    /// <inheritdoc />
 041    public string Category => _localization.GetLocalizedString("TasksLibraryCategory");
 42
 43    /// <inheritdoc />
 2444    public string Key => "RefreshLibrary";
 45
 46    /// <inheritdoc />
 47    public IEnumerable<TaskTriggerInfo> GetDefaultTriggers()
 48    {
 49        yield return new TaskTriggerInfo
 50        {
 51            Type = TaskTriggerInfoType.IntervalTrigger,
 52            IntervalTicks = TimeSpan.FromHours(12).Ticks
 53        };
 54    }
 55
 56    /// <inheritdoc />
 57    public Task ExecuteAsync(IProgress<double> progress, CancellationToken cancellationToken)
 58    {
 1859        cancellationToken.ThrowIfCancellationRequested();
 60
 1861        progress.Report(0);
 62
 1863        return ((LibraryManager)_libraryManager).ValidateMediaLibraryInternal(progress, cancellationToken);
 64    }
 65}