Fixed: Magnet Link progress visualisation and adding magnet links if dht is disabled in qBittorrent
This commit is contained in:
parent
aa46216117
commit
1b939ebf4b
|
@ -35,6 +35,11 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
|
||||||
|
|
||||||
protected override string AddFromMagnetLink(RemoteEpisode remoteEpisode, string hash, string magnetLink)
|
protected override string AddFromMagnetLink(RemoteEpisode remoteEpisode, string hash, string magnetLink)
|
||||||
{
|
{
|
||||||
|
if (!Proxy.GetConfig(Settings).DhtEnabled)
|
||||||
|
{
|
||||||
|
throw new NotSupportedException("Magnet Links not supported if DHT is disabled");
|
||||||
|
}
|
||||||
|
|
||||||
Proxy.AddTorrentFromUrl(magnetLink, Settings);
|
Proxy.AddTorrentFromUrl(magnetLink, Settings);
|
||||||
|
|
||||||
if (Settings.TvCategory.IsNotNullOrWhiteSpace())
|
if (Settings.TvCategory.IsNotNullOrWhiteSpace())
|
||||||
|
@ -155,6 +160,18 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
|
||||||
item.Message = "The download is stalled with no connections";
|
item.Message = "The download is stalled with no connections";
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case "metaDL": // torrent magnet is being downloaded
|
||||||
|
if (config.DhtEnabled)
|
||||||
|
{
|
||||||
|
item.Status = DownloadItemStatus.Queued;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
item.Status = DownloadItemStatus.Warning;
|
||||||
|
item.Message = "qBittorrent cannot resolve magnet link with DHT disabled";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
case "downloading": // torrent is being downloaded and data is being transfered
|
case "downloading": // torrent is being downloaded and data is being transfered
|
||||||
default: // new status in API? default to downloading
|
default: // new status in API? default to downloading
|
||||||
item.Status = DownloadItemStatus.Downloading;
|
item.Status = DownloadItemStatus.Downloading;
|
||||||
|
@ -346,6 +363,12 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// qBittorrent sends eta=8640000 if unknown such as queued
|
||||||
|
if (torrent.Eta == 8640000)
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
return TimeSpan.FromSeconds((int)torrent.Eta);
|
return TimeSpan.FromSeconds((int)torrent.Eta);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
using Newtonsoft.Json;
|
using Newtonsoft.Json;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Download.Clients.QBittorrent
|
namespace NzbDrone.Core.Download.Clients.QBittorrent
|
||||||
{
|
{
|
||||||
|
@ -19,5 +19,8 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
|
||||||
|
|
||||||
[JsonProperty(PropertyName = "queueing_enabled")]
|
[JsonProperty(PropertyName = "queueing_enabled")]
|
||||||
public bool QueueingEnabled { get; set; } = true;
|
public bool QueueingEnabled { get; set; } = true;
|
||||||
|
|
||||||
|
[JsonProperty(PropertyName = "dht")]
|
||||||
|
public bool DhtEnabled { get; set; } // DHT enabled (needed for more peers and magnet downloads)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -272,6 +272,10 @@ namespace NzbDrone.Core.Download.Clients.QBittorrent
|
||||||
{
|
{
|
||||||
if (settings.Username.IsNullOrWhiteSpace() || settings.Password.IsNullOrWhiteSpace())
|
if (settings.Username.IsNullOrWhiteSpace() || settings.Password.IsNullOrWhiteSpace())
|
||||||
{
|
{
|
||||||
|
if (reauthenticate)
|
||||||
|
{
|
||||||
|
throw new DownloadClientAuthenticationException("Failed to authenticate with qBittorrent.");
|
||||||
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue