< Summary - Jellyfin

Information
Class: MediaBrowser.Controller.Providers.MetadataRefreshOptions
Assembly: MediaBrowser.Controller
File(s): /srv/git/jellyfin/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs
Line coverage
22%
Covered lines: 5
Uncovered lines: 17
Coverable lines: 22
Total lines: 77
Line coverage: 22.7%
Branch coverage
16%
Covered branches: 2
Total branches: 12
Branch coverage: 16.6%
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%
.ctor(...)0%4260%
RefreshItem(...)33.33%7.33666.66%

File(s)

/srv/git/jellyfin/MediaBrowser.Controller/Providers/MetadataRefreshOptions.cs

#LineLine coverage
 1#nullable disable
 2
 3#pragma warning disable CA1819, CS1591
 4
 5using System;
 6using System.Linq;
 7using Jellyfin.Extensions;
 8using MediaBrowser.Controller.Entities;
 9using MediaBrowser.Model.Providers;
 10
 11namespace MediaBrowser.Controller.Providers
 12{
 13    public class MetadataRefreshOptions : ImageRefreshOptions
 14    {
 15        public MetadataRefreshOptions(IDirectoryService directoryService)
 11116            : base(directoryService)
 17        {
 11118            MetadataRefreshMode = MetadataRefreshMode.Default;
 11119        }
 20
 21        public MetadataRefreshOptions(MetadataRefreshOptions copy)
 022            : base(copy.DirectoryService)
 23        {
 024            MetadataRefreshMode = copy.MetadataRefreshMode;
 025            ForceSave = copy.ForceSave;
 026            ReplaceAllMetadata = copy.ReplaceAllMetadata;
 027            EnableRemoteContentProbe = copy.EnableRemoteContentProbe;
 28
 029            IsAutomated = copy.IsAutomated;
 030            ImageRefreshMode = copy.ImageRefreshMode;
 031            ReplaceAllImages = copy.ReplaceAllImages;
 032            RegenerateTrickplay = copy.RegenerateTrickplay;
 033            ReplaceImages = copy.ReplaceImages;
 034            SearchResult = copy.SearchResult;
 035            RemoveOldMetadata = copy.RemoveOldMetadata;
 36
 037            if (copy.RefreshPaths is not null && copy.RefreshPaths.Length > 0)
 38            {
 039                RefreshPaths ??= Array.Empty<string>();
 40
 041                RefreshPaths = copy.RefreshPaths.ToArray();
 42            }
 043        }
 44
 45        /// <summary>
 46        /// Gets or sets a value indicating whether all existing data should be overwritten with new data from providers
 47        /// when paired with MetadataRefreshMode=FullRefresh.
 48        /// </summary>
 49        public bool ReplaceAllMetadata { get; set; }
 50
 51        /// <summary>
 52        /// Gets or sets a value indicating whether all existing trickplay images should be overwritten
 53        /// when paired with MetadataRefreshMode=FullRefresh.
 54        /// </summary>
 55        public bool RegenerateTrickplay { get; set; }
 56
 57        public MetadataRefreshMode MetadataRefreshMode { get; set; }
 58
 59        public RemoteSearchResult SearchResult { get; set; }
 60
 61        public string[] RefreshPaths { get; set; }
 62
 63        public bool ForceSave { get; set; }
 64
 65        public bool EnableRemoteContentProbe { get; set; }
 66
 67        public bool RefreshItem(BaseItem item)
 68        {
 269            if (RefreshPaths is not null && RefreshPaths.Length > 0)
 70            {
 071                return RefreshPaths.Contains(item.Path ?? string.Empty, StringComparison.OrdinalIgnoreCase);
 72            }
 73
 274            return true;
 75        }
 76    }
 77}