| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 | 
							- using System;
 
- using System.Linq;
 
- using DotNet.Globbing;
 
- namespace Emby.Server.Implementations.Library
 
- {
 
-     /// <summary>
 
-     /// Glob patterns for files to ignore.
 
-     /// </summary>
 
-     public static class IgnorePatterns
 
-     {
 
-         /// <summary>
 
-         /// Files matching these glob patterns will be ignored.
 
-         /// </summary>
 
-         private static readonly string[] _patterns =
 
-         {
 
-             "**/small.jpg",
 
-             "**/albumart.jpg",
 
-             // We have neither non-greedy matching or character group repetitions, working around that here.
 
-             // https://github.com/dazinator/DotNet.Glob#patterns
 
-             // .*/sample\..{1,5}
 
-             "**/sample.?",
 
-             "**/sample.??",
 
-             "**/sample.???", // Matches sample.mkv
 
-             "**/sample.????", // Matches sample.webm
 
-             "**/sample.?????",
 
-             "**/*.sample.?",
 
-             "**/*.sample.??",
 
-             "**/*.sample.???",
 
-             "**/*.sample.????",
 
-             "**/*.sample.?????",
 
-             "**/sample/*",
 
-             // Directories
 
-             "**/metadata/**",
 
-             "**/metadata",
 
-             "**/ps3_update/**",
 
-             "**/ps3_update",
 
-             "**/ps3_vprm/**",
 
-             "**/ps3_vprm",
 
-             "**/extrafanart/**",
 
-             "**/extrafanart",
 
-             "**/extrathumbs/**",
 
-             "**/extrathumbs",
 
-             "**/.actors/**",
 
-             "**/.actors",
 
-             "**/.wd_tv/**",
 
-             "**/.wd_tv",
 
-             "**/lost+found/**",
 
-             "**/lost+found",
 
-             // WMC temp recording directories that will constantly be written to
 
-             "**/TempRec/**",
 
-             "**/TempRec",
 
-             "**/TempSBE/**",
 
-             "**/TempSBE",
 
-             // Synology
 
-             "**/eaDir/**",
 
-             "**/eaDir",
 
-             "**/@eaDir/**",
 
-             "**/@eaDir",
 
-             "**/#recycle/**",
 
-             "**/#recycle",
 
-             // Qnap
 
-             "**/@Recycle/**",
 
-             "**/@Recycle",
 
-             "**/.@__thumb/**",
 
-             "**/.@__thumb",
 
-             "**/$RECYCLE.BIN/**",
 
-             "**/$RECYCLE.BIN",
 
-             "**/System Volume Information/**",
 
-             "**/System Volume Information",
 
-             "**/.grab/**",
 
-             "**/.grab",
 
-             // Unix hidden files
 
-             "**/.*",
 
-             // Mac - if you ever remove the above.
 
-             // "**/._*",
 
-             // "**/.DS_Store",
 
-             // thumbs.db
 
-             "**/thumbs.db",
 
-             // bts sync files
 
-             "**/*.bts",
 
-             "**/*.sync",
 
-         };
 
-         private static readonly GlobOptions _globOptions = new GlobOptions
 
-         {
 
-             Evaluation =
 
-             {
 
-                 CaseInsensitive = true
 
-             }
 
-         };
 
-         private static readonly Glob[] _globs = _patterns.Select(p => Glob.Parse(p, _globOptions)).ToArray();
 
-         /// <summary>
 
-         /// Returns true if the supplied path should be ignored.
 
-         /// </summary>
 
-         /// <param name="path">The path to test.</param>
 
-         /// <returns>Whether to ignore the path.</returns>
 
-         public static bool ShouldIgnore(ReadOnlySpan<char> path)
 
-         {
 
-             int len = _globs.Length;
 
-             for (int i = 0; i < len; i++)
 
-             {
 
-                 if (_globs[i].IsMatch(path))
 
-                 {
 
-                     return true;
 
-                 }
 
-             }
 
-             return false;
 
-         }
 
-     }
 
- }
 
 
  |