12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- 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/**",
- // 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));
- }
- }
- }
|