| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 
							- using System;
 
- using System.IO;
 
- using Emby.Naming.Common;
 
- using Jellyfin.Extensions;
 
- namespace Emby.Naming.Video
 
- {
 
-     /// <summary>
 
-     /// Resolve if file is stub (.disc).
 
-     /// </summary>
 
-     public static class StubResolver
 
-     {
 
-         /// <summary>
 
-         /// Tries to resolve if file is stub (.disc).
 
-         /// </summary>
 
-         /// <param name="path">Path to file.</param>
 
-         /// <param name="options">NamingOptions containing StubFileExtensions and StubTypes.</param>
 
-         /// <param name="stubType">Stub type.</param>
 
-         /// <returns>True if file is a stub.</returns>
 
-         public static bool TryResolveFile(string path, NamingOptions options, out string? stubType)
 
-         {
 
-             stubType = default;
 
-             if (string.IsNullOrEmpty(path))
 
-             {
 
-                 return false;
 
-             }
 
-             var extension = Path.GetExtension(path.AsSpan());
 
-             if (!options.StubFileExtensions.Contains(extension, StringComparison.OrdinalIgnoreCase))
 
-             {
 
-                 return false;
 
-             }
 
-             var token = Path.GetExtension(Path.GetFileNameWithoutExtension(path.AsSpan())).TrimStart('.');
 
-             foreach (var rule in options.StubTypes)
 
-             {
 
-                 if (token.Equals(rule.Token, StringComparison.OrdinalIgnoreCase))
 
-                 {
 
-                     stubType = rule.StubType;
 
-                     return true;
 
-                 }
 
-             }
 
-             return true;
 
-         }
 
-     }
 
- }
 
 
  |