New: Filter SABnzbd queue by category

(cherry picked from commit 49fd9c4462741e756e0cd43c287939f929de11b2)

Closes #3737
pull/3747/head
Mark McDowall 11 months ago committed by Bogdan
parent 47f9467266
commit 8d4f4d8245

@ -175,7 +175,7 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.SabnzbdTests
} }
Mocker.GetMock<ISabnzbdProxy>() Mocker.GetMock<ISabnzbdProxy>()
.Setup(s => s.GetHistory(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<string>(), It.IsAny<SabnzbdSettings>())) .Setup(s => s.GetHistory(It.IsAny<int>(), It.IsAny<int>(), It.IsAny<SabnzbdSettings>()))
.Returns(history); .Returns(history);
} }

@ -105,7 +105,7 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd
private IEnumerable<DownloadClientItem> GetHistory() private IEnumerable<DownloadClientItem> GetHistory()
{ {
var sabHistory = _proxy.GetHistory(0, _configService.DownloadClientHistoryLimit, Settings.MusicCategory, Settings); var sabHistory = _proxy.GetHistory(0, _configService.DownloadClientHistoryLimit, Settings);
var historyItems = new List<DownloadClientItem>(); var historyItems = new List<DownloadClientItem>();

@ -19,7 +19,7 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd
SabnzbdConfig GetConfig(SabnzbdSettings settings); SabnzbdConfig GetConfig(SabnzbdSettings settings);
SabnzbdFullStatus GetFullStatus(SabnzbdSettings settings); SabnzbdFullStatus GetFullStatus(SabnzbdSettings settings);
SabnzbdQueue GetQueue(int start, int limit, SabnzbdSettings settings); SabnzbdQueue GetQueue(int start, int limit, SabnzbdSettings settings);
SabnzbdHistory GetHistory(int start, int limit, string category, SabnzbdSettings settings); SabnzbdHistory GetHistory(int start, int limit, SabnzbdSettings settings);
string RetryDownload(string id, SabnzbdSettings settings); string RetryDownload(string id, SabnzbdSettings settings);
} }
@ -46,7 +46,7 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd
{ {
var request = BuildRequest("addfile", settings).Post(); var request = BuildRequest("addfile", settings).Post();
request.AddQueryParam("cat", category); request.AddQueryParam("cat", settings.MusicCategory);
request.AddQueryParam("priority", priority); request.AddQueryParam("priority", priority);
request.AddFormUpload("name", filename, nzbData, "application/x-nzb"); request.AddFormUpload("name", filename, nzbData, "application/x-nzb");
@ -111,20 +111,25 @@ namespace NzbDrone.Core.Download.Clients.Sabnzbd
request.AddQueryParam("start", start); request.AddQueryParam("start", start);
request.AddQueryParam("limit", limit); request.AddQueryParam("limit", limit);
if (settings.MusicCategory.IsNotNullOrWhiteSpace())
{
request.AddQueryParam("category", settings.MusicCategory);
}
var response = ProcessRequest(request, settings); var response = ProcessRequest(request, settings);
return Json.Deserialize<SabnzbdQueue>(JObject.Parse(response).SelectToken("queue").ToString()); return Json.Deserialize<SabnzbdQueue>(JObject.Parse(response).SelectToken("queue").ToString());
} }
public SabnzbdHistory GetHistory(int start, int limit, string category, SabnzbdSettings settings) public SabnzbdHistory GetHistory(int start, int limit, SabnzbdSettings settings)
{ {
var request = BuildRequest("history", settings); var request = BuildRequest("history", settings);
request.AddQueryParam("start", start); request.AddQueryParam("start", start);
request.AddQueryParam("limit", limit); request.AddQueryParam("limit", limit);
if (category.IsNotNullOrWhiteSpace()) if (settings.MusicCategory.IsNotNullOrWhiteSpace())
{ {
request.AddQueryParam("category", category); request.AddQueryParam("category", settings.MusicCategory);
} }
var response = ProcessRequest(request, settings); var response = ProcessRequest(request, settings);

Loading…
Cancel
Save