From 06923cbf2be23ee276641bd6d461e6f1790b8bf0 Mon Sep 17 00:00:00 2001 From: Ethan Pippin Date: Sun, 1 Dec 2024 17:08:37 -0700 Subject: [PATCH] Implement TaskTriggerInfoType enum (#12783) --- .../ScheduledTasks/ScheduledTaskWorker.cs | 10 +++---- .../Tasks/AudioNormalizationTask.cs | 2 +- .../ScheduledTasks/Tasks/ChapterImagesTask.cs | 2 +- .../CleanupCollectionAndPlaylistPathsTask.cs | 2 +- .../Tasks/DeleteCacheFileTask.cs | 2 +- .../ScheduledTasks/Tasks/DeleteLogFileTask.cs | 2 +- .../Tasks/DeleteTranscodeFileTask.cs | 4 +-- .../Tasks/MediaSegmentExtractionTask.cs | 2 +- .../Tasks/OptimizeDatabaseTask.cs | 2 +- .../Tasks/PeopleValidationTask.cs | 2 +- .../ScheduledTasks/Tasks/PluginUpdateTask.cs | 4 +-- .../Tasks/RefreshMediaLibraryTask.cs | 2 +- MediaBrowser.Model/Tasks/TaskTriggerInfo.cs | 22 +-------------- .../Tasks/TaskTriggerInfoType.cs | 28 +++++++++++++++++++ .../Lyric/LyricScheduledTask.cs | 2 +- .../MediaInfo/SubtitleScheduledTask.cs | 2 +- .../Trickplay/TrickplayImagesTask.cs | 2 +- .../Channels/RefreshChannelsScheduledTask.cs | 2 +- .../Guide/RefreshGuideScheduledTask.cs | 2 +- 19 files changed, 52 insertions(+), 44 deletions(-) create mode 100644 MediaBrowser.Model/Tasks/TaskTriggerInfoType.cs diff --git a/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs b/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs index 9b342cfbe1..fe769baf92 100644 --- a/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs +++ b/Emby.Server.Implementations/ScheduledTasks/ScheduledTaskWorker.cs @@ -471,7 +471,7 @@ namespace Emby.Server.Implementations.ScheduledTasks new() { IntervalTicks = TimeSpan.FromDays(1).Ticks, - Type = TaskTriggerInfo.TriggerInterval + Type = TaskTriggerInfoType.IntervalTrigger } ]; } @@ -616,7 +616,7 @@ namespace Emby.Server.Implementations.ScheduledTasks MaxRuntimeTicks = info.MaxRuntimeTicks }; - if (info.Type.Equals(nameof(DailyTrigger), StringComparison.OrdinalIgnoreCase)) + if (info.Type == TaskTriggerInfoType.DailyTrigger) { if (!info.TimeOfDayTicks.HasValue) { @@ -626,7 +626,7 @@ namespace Emby.Server.Implementations.ScheduledTasks return new DailyTrigger(TimeSpan.FromTicks(info.TimeOfDayTicks.Value), options); } - if (info.Type.Equals(nameof(WeeklyTrigger), StringComparison.OrdinalIgnoreCase)) + if (info.Type == TaskTriggerInfoType.WeeklyTrigger) { if (!info.TimeOfDayTicks.HasValue) { @@ -641,7 +641,7 @@ namespace Emby.Server.Implementations.ScheduledTasks return new WeeklyTrigger(TimeSpan.FromTicks(info.TimeOfDayTicks.Value), info.DayOfWeek.Value, options); } - if (info.Type.Equals(nameof(IntervalTrigger), StringComparison.OrdinalIgnoreCase)) + if (info.Type == TaskTriggerInfoType.IntervalTrigger) { if (!info.IntervalTicks.HasValue) { @@ -651,7 +651,7 @@ namespace Emby.Server.Implementations.ScheduledTasks return new IntervalTrigger(TimeSpan.FromTicks(info.IntervalTicks.Value), options); } - if (info.Type.Equals(nameof(StartupTrigger), StringComparison.OrdinalIgnoreCase)) + if (info.Type == TaskTriggerInfoType.StartupTrigger) { return new StartupTrigger(options); } diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs index eb6afe05d0..031d147765 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/AudioNormalizationTask.cs @@ -156,7 +156,7 @@ public partial class AudioNormalizationTask : IScheduledTask [ new TaskTriggerInfo { - Type = TaskTriggerInfo.TriggerInterval, + Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromHours(24).Ticks } ]; diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/ChapterImagesTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/ChapterImagesTask.cs index cb3f5b8363..2c7d06ed4d 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/ChapterImagesTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/ChapterImagesTask.cs @@ -80,7 +80,7 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks [ new TaskTriggerInfo { - Type = TaskTriggerInfo.TriggerDaily, + Type = TaskTriggerInfoType.DailyTrigger, TimeOfDayTicks = TimeSpan.FromHours(2).Ticks, MaxRuntimeTicks = TimeSpan.FromHours(4).Ticks } diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupCollectionAndPlaylistPathsTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupCollectionAndPlaylistPathsTask.cs index 25e7ebe799..316e4a8f0a 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupCollectionAndPlaylistPathsTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/CleanupCollectionAndPlaylistPathsTask.cs @@ -135,6 +135,6 @@ public class CleanupCollectionAndPlaylistPathsTask : IScheduledTask /// public IEnumerable GetDefaultTriggers() { - return [new TaskTriggerInfo() { Type = TaskTriggerInfo.TriggerStartup }]; + return [new TaskTriggerInfo() { Type = TaskTriggerInfoType.StartupTrigger }]; } } diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs index 0325cb9af8..ff295d9b7e 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteCacheFileTask.cs @@ -73,7 +73,7 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks return [ // Every so often - new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks } + new TaskTriggerInfo { Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromHours(24).Ticks } ]; } diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs index 9babe8cf9f..a091c2bd90 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteLogFileTask.cs @@ -62,7 +62,7 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks { return [ - new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks } + new TaskTriggerInfo { Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromHours(24).Ticks } ]; } diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteTranscodeFileTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteTranscodeFileTask.cs index 315c245cc5..d0896cc812 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteTranscodeFileTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/DeleteTranscodeFileTask.cs @@ -69,11 +69,11 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks [ new TaskTriggerInfo { - Type = TaskTriggerInfo.TriggerStartup + Type = TaskTriggerInfoType.StartupTrigger }, new TaskTriggerInfo { - Type = TaskTriggerInfo.TriggerInterval, + Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromHours(24).Ticks } ]; diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/MediaSegmentExtractionTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/MediaSegmentExtractionTask.cs index d6fad7526b..de1e60d307 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/MediaSegmentExtractionTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/MediaSegmentExtractionTask.cs @@ -111,7 +111,7 @@ public class MediaSegmentExtractionTask : IScheduledTask { yield return new TaskTriggerInfo { - Type = TaskTriggerInfo.TriggerInterval, + Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromHours(12).Ticks }; } diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/OptimizeDatabaseTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/OptimizeDatabaseTask.cs index 3e4925f74d..7d4e2377dc 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/OptimizeDatabaseTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/OptimizeDatabaseTask.cs @@ -62,7 +62,7 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks return [ // Every so often - new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks } + new TaskTriggerInfo { Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromHours(24).Ticks } ]; } diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/PeopleValidationTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/PeopleValidationTask.cs index c63bad4748..2907f18b55 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/PeopleValidationTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/PeopleValidationTask.cs @@ -58,7 +58,7 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks { new TaskTriggerInfo { - Type = TaskTriggerInfo.TriggerInterval, + Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromDays(7).Ticks } }; diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs index ad72a4c87e..c597103dd4 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/PluginUpdateTask.cs @@ -60,10 +60,10 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks public IEnumerable GetDefaultTriggers() { // At startup - yield return new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerStartup }; + yield return new TaskTriggerInfo { Type = TaskTriggerInfoType.StartupTrigger }; // Every so often - yield return new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks }; + yield return new TaskTriggerInfo { Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromHours(24).Ticks }; } /// diff --git a/Emby.Server.Implementations/ScheduledTasks/Tasks/RefreshMediaLibraryTask.cs b/Emby.Server.Implementations/ScheduledTasks/Tasks/RefreshMediaLibraryTask.cs index a59f0f3669..172448ddec 100644 --- a/Emby.Server.Implementations/ScheduledTasks/Tasks/RefreshMediaLibraryTask.cs +++ b/Emby.Server.Implementations/ScheduledTasks/Tasks/RefreshMediaLibraryTask.cs @@ -48,7 +48,7 @@ namespace Emby.Server.Implementations.ScheduledTasks.Tasks { yield return new TaskTriggerInfo { - Type = TaskTriggerInfo.TriggerInterval, + Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromHours(12).Ticks }; } diff --git a/MediaBrowser.Model/Tasks/TaskTriggerInfo.cs b/MediaBrowser.Model/Tasks/TaskTriggerInfo.cs index 63709557db..186c0aed35 100644 --- a/MediaBrowser.Model/Tasks/TaskTriggerInfo.cs +++ b/MediaBrowser.Model/Tasks/TaskTriggerInfo.cs @@ -8,31 +8,11 @@ namespace MediaBrowser.Model.Tasks /// public class TaskTriggerInfo { - /// - /// The daily trigger. - /// - public const string TriggerDaily = "DailyTrigger"; - - /// - /// The weekly trigger. - /// - public const string TriggerWeekly = "WeeklyTrigger"; - - /// - /// The interval trigger. - /// - public const string TriggerInterval = "IntervalTrigger"; - - /// - /// The startup trigger. - /// - public const string TriggerStartup = "StartupTrigger"; - /// /// Gets or sets the type. /// /// The type. - public string Type { get; set; } + public TaskTriggerInfoType Type { get; set; } /// /// Gets or sets the time of day. diff --git a/MediaBrowser.Model/Tasks/TaskTriggerInfoType.cs b/MediaBrowser.Model/Tasks/TaskTriggerInfoType.cs new file mode 100644 index 0000000000..b596cf5803 --- /dev/null +++ b/MediaBrowser.Model/Tasks/TaskTriggerInfoType.cs @@ -0,0 +1,28 @@ +namespace MediaBrowser.Model.Tasks +{ + /// + /// Enum TaskTriggerInfoType. + /// + public enum TaskTriggerInfoType + { + /// + /// The daily trigger. + /// + DailyTrigger, + + /// + /// The weekly trigger. + /// + WeeklyTrigger, + + /// + /// The interval trigger. + /// + IntervalTrigger, + + /// + /// The startup trigger. + /// + StartupTrigger + } +} diff --git a/MediaBrowser.Providers/Lyric/LyricScheduledTask.cs b/MediaBrowser.Providers/Lyric/LyricScheduledTask.cs index 89d71e1722..73912b5796 100644 --- a/MediaBrowser.Providers/Lyric/LyricScheduledTask.cs +++ b/MediaBrowser.Providers/Lyric/LyricScheduledTask.cs @@ -162,7 +162,7 @@ public class LyricScheduledTask : IScheduledTask [ new TaskTriggerInfo { - Type = TaskTriggerInfo.TriggerInterval, + Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromHours(24).Ticks } ]; diff --git a/MediaBrowser.Providers/MediaInfo/SubtitleScheduledTask.cs b/MediaBrowser.Providers/MediaInfo/SubtitleScheduledTask.cs index 6eb75891aa..938f3cb327 100644 --- a/MediaBrowser.Providers/MediaInfo/SubtitleScheduledTask.cs +++ b/MediaBrowser.Providers/MediaInfo/SubtitleScheduledTask.cs @@ -217,7 +217,7 @@ namespace MediaBrowser.Providers.MediaInfo return new[] { // Every so often - new TaskTriggerInfo { Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks } + new TaskTriggerInfo { Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromHours(24).Ticks } }; } } diff --git a/MediaBrowser.Providers/Trickplay/TrickplayImagesTask.cs b/MediaBrowser.Providers/Trickplay/TrickplayImagesTask.cs index 31c0eeb31e..4310f93d4b 100644 --- a/MediaBrowser.Providers/Trickplay/TrickplayImagesTask.cs +++ b/MediaBrowser.Providers/Trickplay/TrickplayImagesTask.cs @@ -63,7 +63,7 @@ public class TrickplayImagesTask : IScheduledTask { new TaskTriggerInfo { - Type = TaskTriggerInfo.TriggerDaily, + Type = TaskTriggerInfoType.DailyTrigger, TimeOfDayTicks = TimeSpan.FromHours(3).Ticks } }; diff --git a/src/Jellyfin.LiveTv/Channels/RefreshChannelsScheduledTask.cs b/src/Jellyfin.LiveTv/Channels/RefreshChannelsScheduledTask.cs index 79c5873d51..71e46764ad 100644 --- a/src/Jellyfin.LiveTv/Channels/RefreshChannelsScheduledTask.cs +++ b/src/Jellyfin.LiveTv/Channels/RefreshChannelsScheduledTask.cs @@ -79,7 +79,7 @@ namespace Jellyfin.LiveTv.Channels // Every so often new TaskTriggerInfo { - Type = TaskTriggerInfo.TriggerInterval, IntervalTicks = TimeSpan.FromHours(24).Ticks + Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromHours(24).Ticks } }; } diff --git a/src/Jellyfin.LiveTv/Guide/RefreshGuideScheduledTask.cs b/src/Jellyfin.LiveTv/Guide/RefreshGuideScheduledTask.cs index a9fde08501..5164d695f8 100644 --- a/src/Jellyfin.LiveTv/Guide/RefreshGuideScheduledTask.cs +++ b/src/Jellyfin.LiveTv/Guide/RefreshGuideScheduledTask.cs @@ -66,7 +66,7 @@ public class RefreshGuideScheduledTask : IScheduledTask, IConfigurableScheduledT { new TaskTriggerInfo { - Type = TaskTriggerInfo.TriggerInterval, + Type = TaskTriggerInfoType.IntervalTrigger, IntervalTicks = TimeSpan.FromHours(24).Ticks } };