diff options
| author | Claus Vium <cvium@users.noreply.github.com> | 2022-10-12 22:47:41 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-12 22:47:41 +0200 |
| commit | 263a1663aebd26bd57bfc10c50ecbb76c8195291 (patch) | |
| tree | 16f85f80d12aa59b175ede5b7ed6ab8f26ba1c9b | |
| parent | 99e31846bf38c066fa6817f289757b9202a56e04 (diff) | |
| parent | c38052a7537098d658221a8f20ccffc75e3c0055 (diff) | |
Merge pull request #8521 from 1337joe/fix-missing-symlink-scan
Skip missing symlink instead of breaking out of directory scan
| -rw-r--r-- | Emby.Server.Implementations/Library/LibraryManager.cs | 6 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Library/ResolverHelper.cs | 7 |
2 files changed, 6 insertions, 7 deletions
diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs index ee94670eb..cef82ebbc 100644 --- a/Emby.Server.Implementations/Library/LibraryManager.cs +++ b/Emby.Server.Implementations/Library/LibraryManager.cs @@ -665,11 +665,7 @@ namespace Emby.Server.Implementations.Library if (result?.Items.Count > 0) { var items = result.Items; - foreach (var item in items) - { - ResolverHelper.SetInitialItemValues(item, parent, this, directoryService); - } - + items.RemoveAll(item => !ResolverHelper.SetInitialItemValues(item, parent, this, directoryService)); items.AddRange(ResolveFileList(result.ExtraFiles, directoryService, parent, collectionType, resolvers, libraryOptions)); return items; } diff --git a/Emby.Server.Implementations/Library/ResolverHelper.cs b/Emby.Server.Implementations/Library/ResolverHelper.cs index ac75e5d3a..4100a74a5 100644 --- a/Emby.Server.Implementations/Library/ResolverHelper.cs +++ b/Emby.Server.Implementations/Library/ResolverHelper.cs @@ -20,8 +20,9 @@ namespace Emby.Server.Implementations.Library /// <param name="parent">The parent.</param> /// <param name="libraryManager">The library manager.</param> /// <param name="directoryService">The directory service.</param> + /// <returns>True if initializing was successful.</returns> /// <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 if (string.IsNullOrEmpty(item.Path)) @@ -44,12 +45,14 @@ namespace Emby.Server.Implementations.Library var fileInfo = directoryService.GetFile(item.Path); if (fileInfo == null) { - throw new FileNotFoundException("Can't find item path.", item.Path); + return false; } SetDateCreated(item, fileInfo); EnsureName(item, fileInfo); + + return true; } /// <summary> |
