mirror of
https://github.com/lidarr/Lidarr
synced 2025-02-27 00:02:25 +00:00
parent
57aaf62a46
commit
4968cb9973
1 changed files with 27 additions and 7 deletions
|
@ -72,7 +72,13 @@ public void AddTorrentFromUrl(string torrentUrl, QBittorrentSettings settings)
|
|||
.Post()
|
||||
.AddFormParameter("urls", torrentUrl);
|
||||
|
||||
ProcessRequest<object>(request, settings);
|
||||
var result = ProcessRequest(request, settings);
|
||||
|
||||
// Note: Older qbit versions returned nothing, so we can't do != "Ok." here.
|
||||
if (result == "Fails.")
|
||||
{
|
||||
throw new DownloadClientException("Download client failed to add torrent by url");
|
||||
}
|
||||
}
|
||||
|
||||
public void AddTorrentFromFile(string fileName, Byte[] fileContent, QBittorrentSettings settings)
|
||||
|
@ -81,7 +87,13 @@ public void AddTorrentFromFile(string fileName, Byte[] fileContent, QBittorrentS
|
|||
.Post()
|
||||
.AddFormUpload("torrents", fileName, fileContent);
|
||||
|
||||
ProcessRequest<object>(request, settings);
|
||||
var result = ProcessRequest(request, settings);
|
||||
|
||||
// Note: Current qbit versions return nothing, so we can't do != "Ok." here.
|
||||
if (result == "Fails.")
|
||||
{
|
||||
throw new DownloadClientException("Download client failed to add torrent");
|
||||
}
|
||||
}
|
||||
|
||||
public void RemoveTorrent(string hash, Boolean removeData, QBittorrentSettings settings)
|
||||
|
@ -90,7 +102,7 @@ public void RemoveTorrent(string hash, Boolean removeData, QBittorrentSettings s
|
|||
.Post()
|
||||
.AddFormParameter("hashes", hash);
|
||||
|
||||
ProcessRequest<object>(request, settings);
|
||||
ProcessRequest(request, settings);
|
||||
}
|
||||
|
||||
public void SetTorrentLabel(string hash, string label, QBittorrentSettings settings)
|
||||
|
@ -101,7 +113,7 @@ public void SetTorrentLabel(string hash, string label, QBittorrentSettings setti
|
|||
.AddFormParameter("category", label);
|
||||
try
|
||||
{
|
||||
ProcessRequest<object>(setCategoryRequest, settings);
|
||||
ProcessRequest(setCategoryRequest, settings);
|
||||
}
|
||||
catch(DownloadClientException ex)
|
||||
{
|
||||
|
@ -112,7 +124,8 @@ public void SetTorrentLabel(string hash, string label, QBittorrentSettings setti
|
|||
.Post()
|
||||
.AddFormParameter("hashes", hash)
|
||||
.AddFormParameter("label", label);
|
||||
ProcessRequest<object>(setLabelRequest, settings);
|
||||
|
||||
ProcessRequest(setLabelRequest, settings);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -125,7 +138,7 @@ public void MoveTorrentToTopInQueue(string hash, QBittorrentSettings settings)
|
|||
|
||||
try
|
||||
{
|
||||
var response = ProcessRequest<object>(request, settings);
|
||||
ProcessRequest(request, settings);
|
||||
}
|
||||
catch (DownloadClientException ex)
|
||||
{
|
||||
|
@ -152,6 +165,13 @@ private HttpRequestBuilder BuildRequest(QBittorrentSettings settings)
|
|||
|
||||
private TResult ProcessRequest<TResult>(HttpRequestBuilder requestBuilder, QBittorrentSettings settings)
|
||||
where TResult : new()
|
||||
{
|
||||
var responseContent = ProcessRequest(requestBuilder, settings);
|
||||
|
||||
return Json.Deserialize<TResult>(responseContent);
|
||||
}
|
||||
|
||||
private string ProcessRequest(HttpRequestBuilder requestBuilder, QBittorrentSettings settings)
|
||||
{
|
||||
AuthenticateClient(requestBuilder, settings);
|
||||
|
||||
|
@ -185,7 +205,7 @@ private TResult ProcessRequest<TResult>(HttpRequestBuilder requestBuilder, QBitt
|
|||
throw new DownloadClientException("Failed to connect to qBitTorrent, please check your settings.", ex);
|
||||
}
|
||||
|
||||
return Json.Deserialize<TResult>(response.Content);
|
||||
return response.Content;
|
||||
}
|
||||
|
||||
private void AuthenticateClient(HttpRequestBuilder requestBuilder, QBittorrentSettings settings, bool reauthenticate = false)
|
||||
|
|
Loading…
Reference in a new issue