mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-02 22:08:27 +01:00
New provider system. Only for people right now
This commit is contained in:
@@ -46,7 +46,7 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||
}
|
||||
|
||||
// Make sure the item has a name
|
||||
EnsureName(item);
|
||||
EnsureName(item, args);
|
||||
|
||||
item.DontFetchMeta = item.Path.IndexOf("[dontfetchmeta]", StringComparison.OrdinalIgnoreCase) != -1 ||
|
||||
item.Parents.Any(i => i.DontFetchMeta);
|
||||
@@ -59,13 +59,13 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||
/// Ensures the name.
|
||||
/// </summary>
|
||||
/// <param name="item">The item.</param>
|
||||
private static void EnsureName(BaseItem item)
|
||||
private static void EnsureName(BaseItem item, ItemResolveArgs args)
|
||||
{
|
||||
// If the subclass didn't supply a name, add it here
|
||||
if (string.IsNullOrEmpty(item.Name) && !string.IsNullOrEmpty(item.Path))
|
||||
{
|
||||
//we use our resolve args name here to get the name of the containg folder, not actual video file
|
||||
item.Name = GetMBName(item.ResolveArgs.FileInfo.Name, (item.ResolveArgs.FileInfo.Attributes & FileAttributes.Directory) == FileAttributes.Directory);
|
||||
item.Name = GetMBName(args.FileInfo.Name, (args.FileInfo.Attributes & FileAttributes.Directory) == FileAttributes.Directory);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ using MediaBrowser.Controller.Configuration;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Persistence;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -192,7 +193,11 @@ namespace MediaBrowser.Server.Implementations.Library
|
||||
/// <returns>Task.</returns>
|
||||
public Task RefreshUsersMetadata(CancellationToken cancellationToken, bool force = false)
|
||||
{
|
||||
var tasks = Users.Select(user => user.RefreshMetadata(cancellationToken, forceRefresh: force)).ToList();
|
||||
var tasks = Users.Select(user => user.RefreshMetadata(new MetadataRefreshOptions
|
||||
{
|
||||
ReplaceAllMetadata = force
|
||||
|
||||
}, cancellationToken)).ToList();
|
||||
|
||||
return Task.WhenAll(tasks);
|
||||
}
|
||||
|
||||
@@ -16,7 +16,6 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
/// Initializes a new instance of the <see cref="ArtistsPostScanTask" /> class.
|
||||
/// </summary>
|
||||
/// <param name="libraryManager">The library manager.</param>
|
||||
/// <param name="userManager">The user manager.</param>
|
||||
public GenresPostScanTask(ILibraryManager libraryManager)
|
||||
{
|
||||
_libraryManager = libraryManager;
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
using MediaBrowser.Controller.Entities;
|
||||
using MediaBrowser.Controller.Library;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Logging;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -88,7 +89,14 @@ namespace MediaBrowser.Server.Implementations.Library.Validators
|
||||
|
||||
var itemByName = _libraryManager.GetPerson(name);
|
||||
|
||||
await itemByName.RefreshMetadata(cancellationToken, allowSlowProviders: false).ConfigureAwait(false);
|
||||
// The only purpose here is to be able to react to image changes without running the people task.
|
||||
// All other metadata can wait for that.
|
||||
await itemByName.RefreshMetadata(new MetadataRefreshOptions
|
||||
{
|
||||
ImageRefreshMode = MetadataRefreshMode.None,
|
||||
MetadataRefreshMode = MetadataRefreshMode.None
|
||||
|
||||
}, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
foreach (var libraryId in counts.Keys)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user