Skip missing symlink instead of breaking out of directory scan

This commit is contained in:
Joe Rogers 2022-10-08 22:28:16 -04:00
parent 05c20001c8
commit c38052a753
No known key found for this signature in database
GPG Key ID: 0074AD57B8FDBBB4
2 changed files with 6 additions and 7 deletions

View File

@ -665,11 +665,7 @@ namespace Emby.Server.Implementations.Library
if (result?.Items.Count > 0) if (result?.Items.Count > 0)
{ {
var items = result.Items; var items = result.Items;
foreach (var item in items) items.RemoveAll(item => !ResolverHelper.SetInitialItemValues(item, parent, this, directoryService));
{
ResolverHelper.SetInitialItemValues(item, parent, this, directoryService);
}
items.AddRange(ResolveFileList(result.ExtraFiles, directoryService, parent, collectionType, resolvers, libraryOptions)); items.AddRange(ResolveFileList(result.ExtraFiles, directoryService, parent, collectionType, resolvers, libraryOptions));
return items; return items;
} }

View File

@ -20,8 +20,9 @@ namespace Emby.Server.Implementations.Library
/// <param name="parent">The parent.</param> /// <param name="parent">The parent.</param>
/// <param name="libraryManager">The library manager.</param> /// <param name="libraryManager">The library manager.</param>
/// <param name="directoryService">The directory service.</param> /// <param name="directoryService">The directory service.</param>
/// <returns>True if initializing was successful.</returns>
/// <exception cref="ArgumentException">Item must have a path.</exception> /// <exception cref="ArgumentException">Item must have a path.</exception>
public static void SetInitialItemValues(BaseItem item, Folder? parent, ILibraryManager libraryManager, IDirectoryService directoryService) public static bool SetInitialItemValues(BaseItem item, Folder? parent, ILibraryManager libraryManager, IDirectoryService directoryService)
{ {
// This version of the below method has no ItemResolveArgs, so we have to require the path already being set // This version of the below method has no ItemResolveArgs, so we have to require the path already being set
if (string.IsNullOrEmpty(item.Path)) if (string.IsNullOrEmpty(item.Path))
@ -44,12 +45,14 @@ namespace Emby.Server.Implementations.Library
var fileInfo = directoryService.GetFile(item.Path); var fileInfo = directoryService.GetFile(item.Path);
if (fileInfo == null) if (fileInfo == null)
{ {
throw new FileNotFoundException("Can't find item path.", item.Path); return false;
} }
SetDateCreated(item, fileInfo); SetDateCreated(item, fileInfo);
EnsureName(item, fileInfo); EnsureName(item, fileInfo);
return true;
} }
/// <summary> /// <summary>