diff options
| author | Eric Reed <ebr@mediabrowser3.com> | 2013-04-13 17:45:29 -0400 |
|---|---|---|
| committer | Eric Reed <ebr@mediabrowser3.com> | 2013-04-13 17:45:29 -0400 |
| commit | 5a3c46fd5e6fb1435d4d19db6b6624b061ff101a (patch) | |
| tree | 3b5db1563c549bb74219c0c02b4feb764147b2f8 | |
| parent | 76fe2c061e9c0c649b2aa772cbec350a9483fc4d (diff) | |
Have DirectoryWatchers ignore some files
| -rw-r--r-- | MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs b/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs index c33975a64..684b72cc9 100644 --- a/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs +++ b/MediaBrowser.Server.Implementations/IO/DirectoryWatchers.cs @@ -39,6 +39,11 @@ namespace MediaBrowser.Server.Implementations.IO private readonly ConcurrentDictionary<string,string> _tempIgnoredPaths = new ConcurrentDictionary<string, string>(StringComparer.OrdinalIgnoreCase); /// <summary> + /// Any file name ending in any of these will be ignored by the watchers + /// </summary> + private readonly List<string> _alwaysIgnoreFiles = new List<string> {"thumbs.db","small.jpg","albumart.jpg"}; + + /// <summary> /// The timer lock /// </summary> private readonly object _timerLock = new object(); @@ -313,10 +318,18 @@ namespace MediaBrowser.Server.Implementations.IO /// <param name="e">The <see cref="FileSystemEventArgs" /> instance containing the event data.</param> void watcher_Changed(object sender, FileSystemEventArgs e) { + // Ignore when someone manually creates a new folder if (e.ChangeType == WatcherChangeTypes.Created && e.Name == "New folder") { return; } + + // Ignore certain files + if (_alwaysIgnoreFiles.Any(f => e.Name.EndsWith(f, StringComparison.OrdinalIgnoreCase))) + { + return; + } + if (_tempIgnoredPaths.ContainsKey(e.FullPath)) { Logger.Info("Watcher requested to ignore change to " + e.FullPath); |
