Fixed: False Positives for RemotePath check with Deluge

(cherry picked from commit b888b044d61c3787ce658963c6e5c3ef6f3323a1)
This commit is contained in:
Qstick 2020-11-11 23:20:07 -05:00 committed by Mark McDowall
parent 66caec31c9
commit 69ed531850
3 changed files with 36 additions and 3 deletions

View File

@ -196,13 +196,22 @@ namespace NzbDrone.Core.Download.Clients.Deluge
public override DownloadClientInfo GetStatus() public override DownloadClientInfo GetStatus()
{ {
var config = _proxy.GetConfig(Settings); var config = _proxy.GetConfig(Settings);
var label = _proxy.GetLabelOptions(Settings);
OsPath destDir;
var destDir = new OsPath(config.GetValueOrDefault("download_location") as string); if (label != null && label.ApplyMoveCompleted && label.MoveCompleted)
{
if (config.GetValueOrDefault("move_completed", false).ToString() == "True") // if label exists and a label completed path exists and is enabled use it instead of global
destDir = new OsPath(label.MoveCompletedPath);
}
else if (config.GetValueOrDefault("move_completed", false).ToString() == "True")
{ {
destDir = new OsPath(config.GetValueOrDefault("move_completed_path") as string); destDir = new OsPath(config.GetValueOrDefault("move_completed_path") as string);
} }
else
{
destDir = new OsPath(config.GetValueOrDefault("download_location") as string);
}
var status = new DownloadClientInfo var status = new DownloadClientInfo
{ {

View File

@ -0,0 +1,16 @@
using Newtonsoft.Json;
namespace NzbDrone.Core.Download.Clients.Deluge
{
public class DelugeLabel
{
[JsonProperty(PropertyName = "apply_move_completed")]
public bool ApplyMoveCompleted { get; set; }
[JsonProperty(PropertyName = "move_completed")]
public bool MoveCompleted { get; set; }
[JsonProperty(PropertyName = "move_completed_path")]
public string MoveCompletedPath { get; set; }
}
}

View File

@ -19,6 +19,7 @@ namespace NzbDrone.Core.Download.Clients.Deluge
string[] GetAvailablePlugins(DelugeSettings settings); string[] GetAvailablePlugins(DelugeSettings settings);
string[] GetEnabledPlugins(DelugeSettings settings); string[] GetEnabledPlugins(DelugeSettings settings);
string[] GetAvailableLabels(DelugeSettings settings); string[] GetAvailableLabels(DelugeSettings settings);
DelugeLabel GetLabelOptions(DelugeSettings settings);
void SetTorrentLabel(string hash, string label, DelugeSettings settings); void SetTorrentLabel(string hash, string label, DelugeSettings settings);
void SetTorrentConfiguration(string hash, string key, object value, DelugeSettings settings); void SetTorrentConfiguration(string hash, string key, object value, DelugeSettings settings);
void SetTorrentSeedingConfiguration(string hash, TorrentSeedConfiguration seedConfiguration, DelugeSettings settings); void SetTorrentSeedingConfiguration(string hash, TorrentSeedConfiguration seedConfiguration, DelugeSettings settings);
@ -157,6 +158,13 @@ namespace NzbDrone.Core.Download.Clients.Deluge
return response; return response;
} }
public DelugeLabel GetLabelOptions(DelugeSettings settings)
{
var response = ProcessRequest<DelugeLabel>(settings, "label.get_options", settings.TvCategory);
return response;
}
public void SetTorrentConfiguration(string hash, string key, object value, DelugeSettings settings) public void SetTorrentConfiguration(string hash, string key, object value, DelugeSettings settings)
{ {
var arguments = new Dictionary<string, object>(); var arguments = new Dictionary<string, object>();