From 238ddbbe1f3c4b0529d5772e286b0b4b8d7f25e7 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Mon, 4 Dec 2023 12:53:33 +0200 Subject: [PATCH] Fixed: Improve Required Flags selection for indexers --- src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs | 9 +++++---- src/NzbDrone.Core/Indexers/HDBits/HDBitsSettings.cs | 6 +++--- .../Indexers/IPTorrents/IPTorrentsSettings.cs | 7 ++++--- src/NzbDrone.Core/Indexers/Newznab/NewznabSettings.cs | 3 ++- src/NzbDrone.Core/Indexers/Nyaa/NyaaSettings.cs | 7 ++++--- .../Indexers/PassThePopcorn/PassThePopcornSettings.cs | 9 +++++---- .../Indexers/TorrentPotato/TorrentPotatoSettings.cs | 7 ++++--- .../Indexers/TorrentRss/TorrentRssIndexerSettings.cs | 7 ++++--- src/NzbDrone.Core/Indexers/Torznab/TorznabSettings.cs | 2 +- 9 files changed, 32 insertions(+), 25 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs b/src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs index e64a496af..77e9d49c0 100644 --- a/src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs +++ b/src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using FluentValidation; using NzbDrone.Core.Annotations; @@ -28,15 +29,15 @@ public FileListSettings() BaseUrl = "https://filelist.io"; MinimumSeeders = IndexerDefaults.MINIMUM_SEEDERS; - Categories = new int[] + Categories = new[] { (int)FileListCategories.Movie_HD, (int)FileListCategories.Movie_SD, (int)FileListCategories.Movie_4K }; - MultiLanguages = new List(); - RequiredFlags = new List(); + MultiLanguages = Array.Empty(); + RequiredFlags = Array.Empty(); } [FieldDefinition(0, Label = "Username", Privacy = PrivacyLevel.UserName)] @@ -57,7 +58,7 @@ public FileListSettings() [FieldDefinition(5, Type = FieldType.Number, Label = "Minimum Seeders", HelpText = "Minimum number of seeders required.", Advanced = true)] public int MinimumSeeders { get; set; } - [FieldDefinition(6, Type = FieldType.TagSelect, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] + [FieldDefinition(6, Type = FieldType.Select, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] public IEnumerable RequiredFlags { get; set; } [FieldDefinition(7)] diff --git a/src/NzbDrone.Core/Indexers/HDBits/HDBitsSettings.cs b/src/NzbDrone.Core/Indexers/HDBits/HDBitsSettings.cs index 454616cf7..0824b5b72 100644 --- a/src/NzbDrone.Core/Indexers/HDBits/HDBitsSettings.cs +++ b/src/NzbDrone.Core/Indexers/HDBits/HDBitsSettings.cs @@ -31,8 +31,8 @@ public HDBitsSettings() Categories = new[] { (int)HdBitsCategory.Movie }; Codecs = Array.Empty(); Mediums = Array.Empty(); - MultiLanguages = new List(); - RequiredFlags = new List(); + MultiLanguages = Array.Empty(); + RequiredFlags = Array.Empty(); } [FieldDefinition(0, Label = "API URL", Advanced = true, HelpText = "Do not change this unless you know what you're doing. Since your API key will be sent to that host.")] @@ -59,7 +59,7 @@ public HDBitsSettings() [FieldDefinition(7, Type = FieldType.Number, Label = "Minimum Seeders", HelpText = "Minimum number of seeders required.", Advanced = true)] public int MinimumSeeders { get; set; } - [FieldDefinition(8, Type = FieldType.TagSelect, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] + [FieldDefinition(8, Type = FieldType.Select, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] public IEnumerable RequiredFlags { get; set; } [FieldDefinition(9)] diff --git a/src/NzbDrone.Core/Indexers/IPTorrents/IPTorrentsSettings.cs b/src/NzbDrone.Core/Indexers/IPTorrents/IPTorrentsSettings.cs index 0e43e3a85..678dd66c4 100644 --- a/src/NzbDrone.Core/Indexers/IPTorrents/IPTorrentsSettings.cs +++ b/src/NzbDrone.Core/Indexers/IPTorrents/IPTorrentsSettings.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Text.RegularExpressions; using FluentValidation; @@ -33,8 +34,8 @@ public IPTorrentsSettings() { BaseUrl = string.Empty; MinimumSeeders = IndexerDefaults.MINIMUM_SEEDERS; - MultiLanguages = new List(); - RequiredFlags = new List(); + MultiLanguages = Array.Empty(); + RequiredFlags = Array.Empty(); } [FieldDefinition(0, Label = "Feed URL", HelpText = "The full RSS feed url generated by IPTorrents, using only the categories you selected (HD, SD, x264, etc ...)")] @@ -46,7 +47,7 @@ public IPTorrentsSettings() [FieldDefinition(2, Type = FieldType.Number, Label = "Minimum Seeders", HelpText = "Minimum number of seeders required.", Advanced = true)] public int MinimumSeeders { get; set; } - [FieldDefinition(3, Type = FieldType.TagSelect, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] + [FieldDefinition(3, Type = FieldType.Select, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] public IEnumerable RequiredFlags { get; set; } [FieldDefinition(4)] diff --git a/src/NzbDrone.Core/Indexers/Newznab/NewznabSettings.cs b/src/NzbDrone.Core/Indexers/Newznab/NewznabSettings.cs index 4428c07fc..a9c9dc0c7 100644 --- a/src/NzbDrone.Core/Indexers/Newznab/NewznabSettings.cs +++ b/src/NzbDrone.Core/Indexers/Newznab/NewznabSettings.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Linq; using System.Text.RegularExpressions; @@ -55,7 +56,7 @@ public NewznabSettings() { ApiPath = "/api"; Categories = new[] { 2000, 2010, 2020, 2030, 2040, 2045, 2050, 2060 }; - MultiLanguages = new List(); + MultiLanguages = Array.Empty(); } [FieldDefinition(0, Label = "URL")] diff --git a/src/NzbDrone.Core/Indexers/Nyaa/NyaaSettings.cs b/src/NzbDrone.Core/Indexers/Nyaa/NyaaSettings.cs index fe68c6643..ae1f4c68f 100644 --- a/src/NzbDrone.Core/Indexers/Nyaa/NyaaSettings.cs +++ b/src/NzbDrone.Core/Indexers/Nyaa/NyaaSettings.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using System.Text.RegularExpressions; using FluentValidation; @@ -28,8 +29,8 @@ public NyaaSettings() BaseUrl = ""; AdditionalParameters = "&cats=1_0&filter=1"; MinimumSeeders = IndexerDefaults.MINIMUM_SEEDERS; - MultiLanguages = new List(); - RequiredFlags = new List(); + MultiLanguages = Array.Empty(); + RequiredFlags = Array.Empty(); } [FieldDefinition(0, Label = "Website URL")] @@ -44,7 +45,7 @@ public NyaaSettings() [FieldDefinition(3, Type = FieldType.Number, Label = "Minimum Seeders", HelpText = "Minimum number of seeders required.", Advanced = true)] public int MinimumSeeders { get; set; } - [FieldDefinition(4, Type = FieldType.TagSelect, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] + [FieldDefinition(4, Type = FieldType.Select, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] public IEnumerable RequiredFlags { get; set; } [FieldDefinition(5)] diff --git a/src/NzbDrone.Core/Indexers/PassThePopcorn/PassThePopcornSettings.cs b/src/NzbDrone.Core/Indexers/PassThePopcorn/PassThePopcornSettings.cs index c969eb9b4..ba6d4ab77 100644 --- a/src/NzbDrone.Core/Indexers/PassThePopcorn/PassThePopcornSettings.cs +++ b/src/NzbDrone.Core/Indexers/PassThePopcorn/PassThePopcornSettings.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using FluentValidation; using NzbDrone.Core.Annotations; @@ -26,9 +27,9 @@ public class PassThePopcornSettings : ITorrentIndexerSettings public PassThePopcornSettings() { BaseUrl = "https://passthepopcorn.me"; - MinimumSeeders = 0; - MultiLanguages = new List(); - RequiredFlags = new List(); + MinimumSeeders = IndexerDefaults.MINIMUM_SEEDERS; + MultiLanguages = Array.Empty(); + RequiredFlags = Array.Empty(); } [FieldDefinition(0, Label = "URL", Advanced = true, HelpText = "Do not change this unless you know what you're doing. Since your cookie will be sent to that host.")] @@ -49,7 +50,7 @@ public PassThePopcornSettings() [FieldDefinition(5)] public SeedCriteriaSettings SeedCriteria { get; set; } = new SeedCriteriaSettings(); - [FieldDefinition(6, Type = FieldType.TagSelect, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] + [FieldDefinition(6, Type = FieldType.Select, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] public IEnumerable RequiredFlags { get; set; } public NzbDroneValidationResult Validate() diff --git a/src/NzbDrone.Core/Indexers/TorrentPotato/TorrentPotatoSettings.cs b/src/NzbDrone.Core/Indexers/TorrentPotato/TorrentPotatoSettings.cs index 787dbcc0c..b324025f7 100644 --- a/src/NzbDrone.Core/Indexers/TorrentPotato/TorrentPotatoSettings.cs +++ b/src/NzbDrone.Core/Indexers/TorrentPotato/TorrentPotatoSettings.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using FluentValidation; using NzbDrone.Core.Annotations; @@ -25,8 +26,8 @@ public TorrentPotatoSettings() { BaseUrl = "http://127.0.0.1"; MinimumSeeders = IndexerDefaults.MINIMUM_SEEDERS; - MultiLanguages = new List(); - RequiredFlags = new List(); + MultiLanguages = Array.Empty(); + RequiredFlags = Array.Empty(); } [FieldDefinition(0, Label = "API URL", HelpText = "URL to TorrentPotato api.")] @@ -47,7 +48,7 @@ public TorrentPotatoSettings() [FieldDefinition(5)] public SeedCriteriaSettings SeedCriteria { get; set; } = new SeedCriteriaSettings(); - [FieldDefinition(6, Type = FieldType.TagSelect, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", Advanced = true)] + [FieldDefinition(6, Type = FieldType.Select, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", Advanced = true)] public IEnumerable RequiredFlags { get; set; } public NzbDroneValidationResult Validate() diff --git a/src/NzbDrone.Core/Indexers/TorrentRss/TorrentRssIndexerSettings.cs b/src/NzbDrone.Core/Indexers/TorrentRss/TorrentRssIndexerSettings.cs index 4cb02e2c9..d54010083 100644 --- a/src/NzbDrone.Core/Indexers/TorrentRss/TorrentRssIndexerSettings.cs +++ b/src/NzbDrone.Core/Indexers/TorrentRss/TorrentRssIndexerSettings.cs @@ -1,3 +1,4 @@ +using System; using System.Collections.Generic; using FluentValidation; using NzbDrone.Core.Annotations; @@ -26,8 +27,8 @@ public TorrentRssIndexerSettings() BaseUrl = string.Empty; AllowZeroSize = false; MinimumSeeders = IndexerDefaults.MINIMUM_SEEDERS; - MultiLanguages = new List(); - RequiredFlags = new List(); + MultiLanguages = Array.Empty(); + RequiredFlags = Array.Empty(); } [FieldDefinition(0, Label = "Full RSS Feed URL")] @@ -48,7 +49,7 @@ public TorrentRssIndexerSettings() [FieldDefinition(5)] public SeedCriteriaSettings SeedCriteria { get; set; } = new SeedCriteriaSettings(); - [FieldDefinition(6, Type = FieldType.TagSelect, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] + [FieldDefinition(6, Type = FieldType.Select, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] public IEnumerable RequiredFlags { get; set; } public NzbDroneValidationResult Validate() diff --git a/src/NzbDrone.Core/Indexers/Torznab/TorznabSettings.cs b/src/NzbDrone.Core/Indexers/Torznab/TorznabSettings.cs index 78286b5d2..48a9179dc 100644 --- a/src/NzbDrone.Core/Indexers/Torznab/TorznabSettings.cs +++ b/src/NzbDrone.Core/Indexers/Torznab/TorznabSettings.cs @@ -58,7 +58,7 @@ public TorznabSettings() [FieldDefinition(9)] public SeedCriteriaSettings SeedCriteria { get; set; } = new (); - [FieldDefinition(10, Type = FieldType.TagSelect, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] + [FieldDefinition(10, Type = FieldType.Select, SelectOptions = typeof(IndexerFlags), Label = "Required Flags", HelpText = "What indexer flags are required?", HelpLink = "https://wiki.servarr.com/radarr/settings#indexer-flags", Advanced = true)] public IEnumerable RequiredFlags { get; set; } public override NzbDroneValidationResult Validate()