diff --git a/ConfusedPolarBear.Plugin.IntroSkipper/Configuration/PluginConfiguration.cs b/ConfusedPolarBear.Plugin.IntroSkipper/Configuration/PluginConfiguration.cs index c13b73f..e7d5114 100644 --- a/ConfusedPolarBear.Plugin.IntroSkipper/Configuration/PluginConfiguration.cs +++ b/ConfusedPolarBear.Plugin.IntroSkipper/Configuration/PluginConfiguration.cs @@ -1,3 +1,4 @@ +using System.Collections.Generic; using System.Diagnostics; using MediaBrowser.Model.Plugins; @@ -27,6 +28,11 @@ public class PluginConfiguration : BasePluginConfiguration /// public string SelectedLibraries { get; set; } = string.Empty; + /// + /// Gets a temporary limitation on file paths to be analyzed. Should be empty when automatic scan is idle. + /// + public IList PathRestrictions { get; } = new List(); + /// /// Gets or sets a value indicating whether to scan for intros during a scheduled task. /// diff --git a/ConfusedPolarBear.Plugin.IntroSkipper/Configuration/configPage.html b/ConfusedPolarBear.Plugin.IntroSkipper/Configuration/configPage.html index 08aa02f..22cbe8d 100644 --- a/ConfusedPolarBear.Plugin.IntroSkipper/Configuration/configPage.html +++ b/ConfusedPolarBear.Plugin.IntroSkipper/Configuration/configPage.html @@ -46,8 +46,8 @@
If enabled, credits will be automatically analyzed for new media -
-
+
+
Note: Not selecting at least one automatic detection type will disable automatic scans. To configure the scheduled task, see scheduled tasks.
@@ -61,6 +61,7 @@
If checked, season 0 (specials / extras) will be included in analysis.
+
Note: Shows containing both a specials and extra folder will identify extras as season 0 and ignore specials, regardless of this setting.
diff --git a/ConfusedPolarBear.Plugin.IntroSkipper/Entrypoint.cs b/ConfusedPolarBear.Plugin.IntroSkipper/Entrypoint.cs index ebddd78..65387f2 100644 --- a/ConfusedPolarBear.Plugin.IntroSkipper/Entrypoint.cs +++ b/ConfusedPolarBear.Plugin.IntroSkipper/Entrypoint.cs @@ -148,6 +148,8 @@ public class Entrypoint : IHostedService, IDisposable return; } + Plugin.Instance!.Configuration.PathRestrictions.Add(itemChangeEventArgs.Item.ContainingFolderPath); + StartTimer(); } @@ -175,6 +177,8 @@ public class Entrypoint : IHostedService, IDisposable return; } + Plugin.Instance!.Configuration.PathRestrictions.Add(itemChangeEventArgs.Item.ContainingFolderPath); + StartTimer(); } @@ -291,6 +295,7 @@ public class Entrypoint : IHostedService, IDisposable } } + Plugin.Instance!.Configuration.PathRestrictions.Clear(); _autoTaskCompletEvent.Set(); _cancellationTokenSource = null; diff --git a/ConfusedPolarBear.Plugin.IntroSkipper/QueueManager.cs b/ConfusedPolarBear.Plugin.IntroSkipper/QueueManager.cs index 0dc4b2d..d705aa4 100644 --- a/ConfusedPolarBear.Plugin.IntroSkipper/QueueManager.cs +++ b/ConfusedPolarBear.Plugin.IntroSkipper/QueueManager.cs @@ -157,6 +157,14 @@ public class QueueManager continue; } + if (Plugin.Instance!.Configuration.PathRestrictions.Count > 0) + { + if (!Plugin.Instance!.Configuration.PathRestrictions.Contains(item.ContainingFolderPath)) + { + continue; + } + } + QueueEpisode(episode); }