From 4728fa29ef578a7ff33cf16a4e6b46689c4be1b4 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Sun, 30 Mar 2025 15:26:18 +0300 Subject: [PATCH] Fixed: Avoid requests without categories for FileList --- .../Indexers/FileList/FileListRequestGenerator.cs | 5 +++++ src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs | 9 +++++++++ 2 files changed, 14 insertions(+) diff --git a/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs b/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs index df96576fb..234d7b037 100644 --- a/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs +++ b/src/NzbDrone.Core/Indexers/FileList/FileListRequestGenerator.cs @@ -137,6 +137,11 @@ private void AddNameRequests(IndexerPageableRequestChain chain, SearchCriteriaBa private IEnumerable GetRequest(string searchType, IEnumerable categories, string parameters) { + if (categories.Empty()) + { + yield break; + } + var categoriesQuery = string.Join(",", categories.Distinct()); var baseUrl = string.Format("{0}/api.php?action={1}&category={2}{3}", Settings.BaseUrl.TrimEnd('/'), searchType, categoriesQuery, parameters); diff --git a/src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs b/src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs index b50ad3fb5..86002f83a 100644 --- a/src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs +++ b/src/NzbDrone.Core/Indexers/FileList/FileListSettings.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using Equ; using FluentValidation; +using NzbDrone.Common.Extensions; using NzbDrone.Core.Annotations; using NzbDrone.Core.Languages; using NzbDrone.Core.Validation; @@ -16,6 +17,14 @@ public FileListSettingsValidator() RuleFor(c => c.Username).NotEmpty(); RuleFor(c => c.Passkey).NotEmpty(); + RuleFor(c => c).Custom((c, context) => + { + if (c.Categories.Empty() && c.AnimeCategories.Empty()) + { + context.AddFailure("Either 'Categories' or 'Anime Categories' must be provided"); + } + }); + RuleFor(c => c.SeedCriteria).SetValidator(_ => new SeedCriteriaSettingsValidator()); } }