diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-29 15:30:26 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2014-01-29 15:30:26 -0500 |
| commit | 2353dc1aeedd13e1b604d4308b7ff551726bc455 (patch) | |
| tree | b04957d24d3f9faf728b2e12afd796a772215247 | |
| parent | eced7ed0687f4defe0dec08160786552743c6432 (diff) | |
added realtime monitor setting
3 files changed, 27 insertions, 4 deletions
diff --git a/MediaBrowser.Model/Configuration/ServerConfiguration.cs b/MediaBrowser.Model/Configuration/ServerConfiguration.cs index 923c5ab74..4e981fa3e 100644 --- a/MediaBrowser.Model/Configuration/ServerConfiguration.cs +++ b/MediaBrowser.Model/Configuration/ServerConfiguration.cs @@ -227,6 +227,8 @@ namespace MediaBrowser.Model.Configuration public TvFileOrganizationOptions TvFileOrganizationOptions { get; set; } public LiveTvOptions LiveTvOptions { get; set; } + public bool EnableRealtimeMonitor { get; set; } + /// <summary> /// Initializes a new instance of the <see cref="ServerConfiguration" /> class. /// </summary> @@ -294,6 +296,8 @@ namespace MediaBrowser.Model.Configuration LiveTvOptions = new LiveTvOptions(); TvFileOrganizationOptions = new TvFileOrganizationOptions(); + + EnableRealtimeMonitor = true; } } diff --git a/MediaBrowser.Server.Implementations/FileOrganization/TvFolderOrganizer.cs b/MediaBrowser.Server.Implementations/FileOrganization/TvFolderOrganizer.cs index 24f21e339..85b45cf2c 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/TvFolderOrganizer.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/TvFolderOrganizer.cs @@ -79,9 +79,15 @@ namespace MediaBrowser.Server.Implementations.FileOrganization foreach (var path in watchLocations) { - if (options.LeftOverFileExtensionsToDelete.Length > 0) + var deleteExtensions = options.LeftOverFileExtensionsToDelete + .Select(i => i.Trim().TrimStart('.')) + .Where(i => !string.IsNullOrEmpty(i)) + .Select(i => "." + i) + .ToList(); + + if (deleteExtensions.Count > 0) { - DeleteLeftOverFiles(path, options.LeftOverFileExtensionsToDelete); + DeleteLeftOverFiles(path, deleteExtensions); } if (options.DeleteEmptyFolders) diff --git a/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs b/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs index 0716a3d83..58141902e 100644 --- a/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs +++ b/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs @@ -130,14 +130,27 @@ namespace MediaBrowser.Server.Implementations.IO /// <param name="e">The <see cref="PowerModeChangedEventArgs"/> instance containing the event data.</param> void SystemEvents_PowerModeChanged(object sender, PowerModeChangedEventArgs e) { + Restart(); + } + + private void Restart() + { Stop(); Start(); } + public void Start() + { + if (ConfigurationManager.Configuration.EnableRealtimeMonitor) + { + StartInternal(); + } + } + /// <summary> /// Starts this instance. /// </summary> - public void Start() + private void StartInternal() { LibraryManager.ItemAdded += LibraryManager_ItemAdded; LibraryManager.ItemRemoved += LibraryManager_ItemRemoved; @@ -359,7 +372,7 @@ namespace MediaBrowser.Server.Implementations.IO { throw new ArgumentNullException("path"); } - + var filename = Path.GetFileName(path); // Ignore certain files |
