mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-21 17:44:43 +01:00
allow request header overrides
This commit is contained in:
@@ -57,10 +57,10 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
/// <returns>Task.</returns>
|
||||
public async Task Run(IProgress<double> progress, CancellationToken cancellationToken)
|
||||
{
|
||||
var allItems = _libraryManager.RootFolder.RecursiveChildren.ToList();
|
||||
var allItems = _libraryManager.RootFolder.RecursiveChildren.ToArray();
|
||||
|
||||
var allMusicArtists = allItems.OfType<MusicArtist>().ToList();
|
||||
var allSongs = allItems.OfType<Audio>().ToList();
|
||||
var allMusicArtists = allItems.OfType<MusicArtist>().ToArray();
|
||||
var allSongs = allItems.OfType<Audio>().ToArray();
|
||||
|
||||
var innerProgress = new ActionableProgress<double>();
|
||||
|
||||
@@ -73,8 +73,8 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
var numComplete = 0;
|
||||
|
||||
var userLibraries = _userManager.Users
|
||||
.Select(i => new Tuple<Guid, List<IHasArtist>>(i.Id, i.RootFolder.GetRecursiveChildren(i).OfType<IHasArtist>().ToList()))
|
||||
.ToList();
|
||||
.Select(i => new Tuple<Guid, IHasArtist[]>(i.Id, i.RootFolder.GetRecursiveChildren(i).OfType<IHasArtist>().ToArray()))
|
||||
.ToArray();
|
||||
|
||||
foreach (var artist in allArtists)
|
||||
{
|
||||
@@ -117,7 +117,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
|
||||
numComplete++;
|
||||
double percent = numComplete;
|
||||
percent /= allArtists.Count;
|
||||
percent /= allArtists.Length;
|
||||
percent *= 20;
|
||||
|
||||
progress.Report(80 + percent);
|
||||
@@ -138,11 +138,11 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
|
||||
var items = allItems
|
||||
.Where(i => i.HasArtist(name))
|
||||
.ToList();
|
||||
.ToArray();
|
||||
|
||||
var counts = new ItemByNameCounts
|
||||
{
|
||||
TotalCount = items.Count,
|
||||
TotalCount = items.Length,
|
||||
|
||||
SongCount = items.OfType<Audio>().Count(),
|
||||
|
||||
@@ -165,7 +165,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
private void MergeImages(Dictionary<ImageType, string> source, Dictionary<ImageType, string> target)
|
||||
{
|
||||
foreach (var key in source.Keys
|
||||
.ToList()
|
||||
.ToArray()
|
||||
.Where(k => !target.ContainsKey(k)))
|
||||
{
|
||||
string path;
|
||||
@@ -184,7 +184,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <param name="progress">The progress.</param>
|
||||
/// <returns>Task{Artist[]}.</returns>
|
||||
private async Task<List<Artist>> GetAllArtists(IEnumerable<Audio> allSongs, CancellationToken cancellationToken, IProgress<double> progress)
|
||||
private async Task<Artist[]> GetAllArtists(IEnumerable<Audio> allSongs, CancellationToken cancellationToken, IProgress<double> progress)
|
||||
{
|
||||
var allArtists = allSongs
|
||||
.SelectMany(i =>
|
||||
@@ -200,7 +200,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
return list;
|
||||
})
|
||||
.Distinct(StringComparer.OrdinalIgnoreCase)
|
||||
.ToList();
|
||||
.ToArray();
|
||||
|
||||
const int maxTasks = 3;
|
||||
|
||||
@@ -246,7 +246,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
{
|
||||
numComplete++;
|
||||
double percent = numComplete;
|
||||
percent /= allArtists.Count;
|
||||
percent /= allArtists.Length;
|
||||
|
||||
progress.Report(100 * percent);
|
||||
}
|
||||
@@ -255,7 +255,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
|
||||
await Task.WhenAll(tasks).ConfigureAwait(false);
|
||||
|
||||
return returnArtists.ToList();
|
||||
return returnArtists.ToArray();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -127,7 +127,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
/// <param name="media">The media.</param>
|
||||
/// <param name="names">The names.</param>
|
||||
/// <param name="masterDictionary">The master dictionary.</param>
|
||||
internal static void SetItemCounts(Guid userId, BaseItem media, List<string> names, Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>> masterDictionary)
|
||||
internal static void SetItemCounts(Guid userId, BaseItem media, IEnumerable<string> names, Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>> masterDictionary)
|
||||
{
|
||||
foreach (var name in names)
|
||||
{
|
||||
|
||||
@@ -46,14 +46,10 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
|
||||
private void RunInternal(IProgress<double> progress, CancellationToken cancellationToken)
|
||||
{
|
||||
var allItems = _libraryManager.RootFolder.RecursiveChildren.ToList();
|
||||
|
||||
var userLibraries = _userManager.Users
|
||||
.Select(i => new Tuple<Guid, List<BaseItem>>(i.Id, i.RootFolder.GetRecursiveChildren(i).ToList()))
|
||||
.Select(i => new Tuple<Guid, BaseItem[]>(i.Id, i.RootFolder.GetRecursiveChildren(i).ToArray()))
|
||||
.ToList();
|
||||
|
||||
var allLibraryItems = allItems;
|
||||
|
||||
var masterDictionary = new Dictionary<string, Dictionary<Guid, Dictionary<CountType, int>>>(StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
// Populate counts of items
|
||||
@@ -122,7 +118,7 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
var names = media
|
||||
.People.Select(i => i.Name)
|
||||
.Distinct(StringComparer.OrdinalIgnoreCase)
|
||||
.ToList();
|
||||
.ToArray();
|
||||
|
||||
CountHelpers.SetItemCounts(userId, media, names, masterDictionary);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user