1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- 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>
- public static readonly string[] Patterns = new string[]
- {
- "**/small.jpg",
- "**/albumart.jpg",
- "**/*sample*",
- // Directories
- "**/metadata/**",
- "**/ps3_update/**",
- "**/ps3_vprm/**",
- "**/extrafanart/**",
- "**/extrathumbs/**",
- "**/.actors/**",
- "**/.wd_tv/**",
- "**/lost+found/**",
- // WMC temp recording directories that will constantly be written to
- "**/TempRec/**",
- "**/TempSBE/**",
- // Synology
- "**/eaDir/**",
- "**/@eaDir/**",
- "**/#recycle/**",
- // Qnap
- "**/@Recycle/**",
- "**/.@__thumb/**",
- "**/$RECYCLE.BIN/**",
- "**/System Volume Information/**",
- "**/.grab/**",
- // Unix hidden files and directories
- "**/.*/**",
- // 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>
- public static bool ShouldIgnore(string path)
- {
- return _globs.Any(g => g.IsMatch(path));
- }
- }
- }
|