Switch to PascalCase in generated code.
Use translations for Settings api. Remove partial from dto classes.
This commit is contained in:
parent
fdb990b1ad
commit
7c99a79757
|
@ -1,257 +1,254 @@
|
||||||
|
using System.CodeDom.Compiler;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.ComponentModel.DataAnnotations;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Converters;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Download.Clients.Tribler
|
namespace NzbDrone.Core.Download.Clients.Tribler
|
||||||
{
|
{
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public enum DownloadStatus
|
public enum DownloadStatus
|
||||||
{
|
{
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"WAITING4HASHCHECK")]
|
[EnumMember(Value = @"WAITING4HASHCHECK")]
|
||||||
WAITING4HASHCHECK = 0,
|
Waiting4HashCheck = 0,
|
||||||
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"HASHCHECKING")]
|
[EnumMember(Value = @"HASHCHECKING")]
|
||||||
HASHCHECKING = 1,
|
Hashchecking = 1,
|
||||||
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"METADATA")]
|
[EnumMember(Value = @"METADATA")]
|
||||||
METADATA = 2,
|
Metadata = 2,
|
||||||
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"DOWNLOADING")]
|
[EnumMember(Value = @"DOWNLOADING")]
|
||||||
DOWNLOADING = 3,
|
Downloading = 3,
|
||||||
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"SEEDING")]
|
[EnumMember(Value = @"SEEDING")]
|
||||||
SEEDING = 4,
|
Seeding = 4,
|
||||||
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"STOPPED")]
|
[EnumMember(Value = @"STOPPED")]
|
||||||
STOPPED = 5,
|
Stopped = 5,
|
||||||
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"ALLOCATING_DISKSPACE")]
|
[EnumMember(Value = @"ALLOCATING_DISKSPACE")]
|
||||||
ALLOCATING_DISKSPACE = 6,
|
AllocatingDiskspace = 6,
|
||||||
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"EXIT_NODES")]
|
[EnumMember(Value = @"EXIT_NODES")]
|
||||||
EXIT_NODES = 7,
|
Exitnodes = 7,
|
||||||
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"CIRCUITS")]
|
[EnumMember(Value = @"CIRCUITS")]
|
||||||
CIRCUITS = 8,
|
Circuits = 8,
|
||||||
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"STOPPED_ON_ERROR")]
|
[EnumMember(Value = @"STOPPED_ON_ERROR")]
|
||||||
STOPPED_ON_ERROR = 9,
|
StoppedOnError = 9,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class Trackers
|
public class Trackers
|
||||||
{
|
{
|
||||||
/// <summary>url of tracker</summary>
|
[JsonProperty("url", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[Newtonsoft.Json.JsonProperty("url", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
|
||||||
public string Url { get; set; }
|
public string Url { get; set; }
|
||||||
|
|
||||||
/// <summary>number of peers</summary>
|
[JsonProperty("peers", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[Newtonsoft.Json.JsonProperty("peers", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
|
||||||
public object Peers { get; set; }
|
public object Peers { get; set; }
|
||||||
|
|
||||||
/// <summary>If the tracker is working or not.</summary>
|
[JsonProperty("status", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[Newtonsoft.Json.JsonProperty("status", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
|
||||||
public string Status { get; set; }
|
public string Status { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class Download
|
public class Download
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("name", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("progress", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("progress", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public float? Progress { get; set; }
|
public float? Progress { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("anon_download", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("anon_download", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Anon_download { get; set; }
|
public bool? AnonDownload { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("availability", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("availability", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public float? Availability { get; set; }
|
public float? Availability { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("eta", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("eta", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public double? Eta { get; set; }
|
public double? Eta { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("total_pieces", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("total_pieces", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public long? Total_pieces { get; set; }
|
public long? TotalPieces { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("num_seeds", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("num_seeds", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public long? Num_seeds { get; set; }
|
public long? NumSeeds { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("total_up", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("total_up", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public long? Total_up { get; set; }
|
public long? TotalUp { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("status", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("status", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
|
[JsonConverter(typeof(StringEnumConverter))]
|
||||||
public DownloadStatus? Status { get; set; }
|
public DownloadStatus? Status { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("infohash", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("infohash", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Infohash { get; set; }
|
public string Infohash { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("ratio", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("ratio", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public float? Ratio { get; set; }
|
public float? Ratio { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("vod_mode", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("vod_mode", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Vod_mode { get; set; }
|
public bool? VideoOnDemandMode { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("time_added", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("time_added", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public long? Time_added { get; set; }
|
public long? TimeAdded { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("max_upload_speed", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("max_upload_speed", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public long? Max_upload_speed { get; set; }
|
public long? MaxUploadSpeed { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("max_download_speed", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("max_download_speed", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public long? Max_download_speed { get; set; }
|
public long? MaxDownloadSpeed { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("hops", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("hops", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public long? Hops { get; set; }
|
public long? Hops { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("safe_seeding", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("safe_seeding", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Safe_seeding { get; set; }
|
public bool? SafeSeeding { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("error", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("error", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Error { get; set; }
|
public string Error { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("total_down", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("total_down", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public long? Total_down { get; set; }
|
public long? TotalDown { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("vod_prebuffering_progress", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("vod_prebuffering_progress", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public float? Vod_prebuffering_progress { get; set; }
|
public float? VideoOnDemandPrebufferingProgress { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("trackers", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("trackers", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public System.Collections.Generic.ICollection<Trackers> Trackers { get; set; }
|
public ICollection<Trackers> Trackers { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("size", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("size", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public long? Size { get; set; }
|
public long? Size { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("peers", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("peers", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public System.Collections.Generic.ICollection<string> Peers { get; set; }
|
public ICollection<string> Peers { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("destination", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("destination", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Destination { get; set; }
|
public string Destination { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("speed_down", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("speed_down", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public float? Speed_down { get; set; }
|
public float? SpeedDown { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("speed_up", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("speed_up", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public float? Speed_up { get; set; }
|
public float? SpeedUp { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("vod_prebuffering_progress_consec", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("vod_prebuffering_progress_consec", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public float? Vod_prebuffering_progress_consec { get; set; }
|
public float? VideoOnDemandPrebufferingProgressConsec { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("files", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("files", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public System.Collections.Generic.ICollection<string> Files { get; set; }
|
public ICollection<string> Files { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("num_peers", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("num_peers", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public long? Num_peers { get; set; }
|
public long? NumPeers { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("channel_download", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("channel_download", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? ChannelDownload { get; set; }
|
public bool? ChannelDownload { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class DownloadsResponse
|
public class DownloadsResponse
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("downloads", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("downloads", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public System.Collections.Generic.ICollection<Download> Downloads { get; set; }
|
public ICollection<Download> Downloads { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class AddDownloadRequest
|
public class AddDownloadRequest
|
||||||
{
|
{
|
||||||
/// <summary>Number of hops for the anonymous download. No hops is equivalent to a plain download</summary>
|
[JsonProperty("anon_hops", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[Newtonsoft.Json.JsonProperty("anon_hops", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
public long? AnonymityHops { get; set; }
|
||||||
public long? Anon_hops { get; set; }
|
|
||||||
|
|
||||||
/// <summary>Whether the seeding of the download should be anonymous or not</summary>
|
[JsonProperty("safe_seeding", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[Newtonsoft.Json.JsonProperty("safe_seeding", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
public bool? SafeSeeding { get; set; }
|
||||||
public bool? Safe_seeding { get; set; }
|
|
||||||
|
|
||||||
/// <summary>the download destination path of the torrent</summary>
|
[JsonProperty("destination", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[Newtonsoft.Json.JsonProperty("destination", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
|
||||||
public string Destination { get; set; }
|
public string Destination { get; set; }
|
||||||
|
|
||||||
/// <summary>The URI of the torrent file that should be downloaded. This URI can either represent a file location, a magnet link or a HTTP(S) url.</summary>
|
[JsonProperty("uri", Required = Newtonsoft.Json.Required.Always)]
|
||||||
[Newtonsoft.Json.JsonProperty("uri", Required = Newtonsoft.Json.Required.Always)]
|
[Required(AllowEmptyStrings = true)]
|
||||||
[System.ComponentModel.DataAnnotations.Required(AllowEmptyStrings = true)]
|
|
||||||
public string Uri { get; set; }
|
public string Uri { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class AddDownloadResponse
|
public class AddDownloadResponse
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("infohash", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("infohash", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Infohash { get; set; }
|
public string Infohash { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("started", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("started", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Started { get; set; }
|
public bool? Started { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class RemoveDownloadRequest
|
public class RemoveDownloadRequest
|
||||||
{
|
{
|
||||||
/// <summary>Whether or not to remove the associated data</summary>
|
[JsonProperty("remove_data", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[Newtonsoft.Json.JsonProperty("remove_data", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
public bool? RemoveData { get; set; }
|
||||||
public bool? Remove_data { get; set; }
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class DeleteDownloadResponse
|
public class DeleteDownloadResponse
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("removed", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("removed", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Removed { get; set; }
|
public bool? Removed { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("infohash", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("infohash", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Infohash { get; set; }
|
public string Infohash { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class UpdateDownloadRequest
|
public class UpdateDownloadRequest
|
||||||
{
|
{
|
||||||
/// <summary>The anonymity of a download can be changed at runtime by passing the anon_hops parameter, however, this must be the only parameter in this request.</summary>
|
[JsonProperty("anon_hops", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[Newtonsoft.Json.JsonProperty("anon_hops", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
public long? AnonHops { get; set; }
|
||||||
public long? Anon_hops { get; set; }
|
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("selected_files", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("selected_files", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public System.Collections.Generic.ICollection<int> Selected_files { get; set; }
|
public ICollection<int> Selected_files { get; set; }
|
||||||
|
|
||||||
/// <summary>State parameter to be passed to modify the state of the download (resume/stop/recheck)</summary>
|
[JsonProperty("state", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
[Newtonsoft.Json.JsonProperty("state", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
|
||||||
public string State { get; set; }
|
public string State { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class UpdateDownloadResponse
|
public class UpdateDownloadResponse
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("modified", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("modified", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Modified { get; set; }
|
public bool? Modified { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("infohash", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("infohash", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Infohash { get; set; }
|
public string Infohash { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class File
|
public class File
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("size", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("size", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public long? Size { get; set; }
|
public long? Size { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("index", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("index", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public long? Index { get; set; }
|
public long? Index { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("name", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("name", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("progress", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("progress", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public float? Progress { get; set; }
|
public float? Progress { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("included", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("included", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Included { get; set; }
|
public bool? Included { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class GetFilesResponse
|
public class GetFilesResponse
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("files", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("files", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public System.Collections.Generic.ICollection<File> Files { get; set; }
|
public ICollection<File> Files { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,128 +1,128 @@
|
||||||
|
using System.CodeDom.Compiler;
|
||||||
|
using System.Runtime.Serialization;
|
||||||
|
using Newtonsoft.Json;
|
||||||
|
using Newtonsoft.Json.Converters;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Indexers.Tribler
|
namespace NzbDrone.Core.Indexers.Tribler
|
||||||
{
|
{
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public class GetTriblerSettingsResponse
|
public class GetTriblerSettingsResponse
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("settings", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("settings", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public Settings Settings { get; set; }
|
public Settings Settings { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class Settings
|
public class Settings
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("general", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("general", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public General General { get; set; }
|
public General General { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("tunnel_community", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("tunnel_community", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public Tunnel_community Tunnel_community { get; set; }
|
public TunnelCommunity TunnelCommunity { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("dht", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("dht", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public Dht Dht { get; set; }
|
public Dht Dht { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("download_defaults", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("download_defaults", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public Download_defaults Download_defaults { get; set; }
|
public DownloadDefaults DownloadDefaults { get; set; }
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class General
|
public class General
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("log_dir", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("log_dir", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Log_dir { get; set; }
|
public string LogDir { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("version", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("version", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public string Version { get; set; }
|
public string Version { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("version_checker_enabled", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("version_checker_enabled", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Version_checker_enabled { get; set; }
|
public bool? VersionCheckerEnabled { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("testnet", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("testnet", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Testnet { get; set; }
|
public bool? TestNet { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class Tunnel_community
|
public class TunnelCommunity
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("exitnode_enabled", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("exitnode_enabled", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Exitnode_enabled { get; set; }
|
public bool? ExitNodeEnabled { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("enabled", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("enabled", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Enabled { get; set; }
|
public bool? Enabled { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("random_slots", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("random_slots", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public int? Random_slots { get; set; }
|
public int? RandomSlots { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("competing_slots", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("competing_slots", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public int? Competing_slots { get; set; }
|
public int? CompetingSlots { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("min_circuits", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("min_circuits", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public int? Min_Circuits { get; set; }
|
public int? MinCircuits { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("max_circuits", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("max_circuits", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public int? Max_Circuits { get; set; }
|
public int? MaxCircuits { get; set; }
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("testnet", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("testnet", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Testnet { get; set; }
|
public bool? TestNet { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
public partial class Dht
|
public class Dht
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("enabled", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[JsonProperty("enabled", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
public bool? Enabled { get; set; }
|
public bool? Enabled { get; set; }
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
|
public class DownloadDefaults
|
||||||
|
{
|
||||||
|
[JsonProperty("anonymity_enabled", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public bool? AnonymityEnabled { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("number_hops", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public int? NumberHops { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("safeseeding_enabled", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public bool? SafeSeedingEnabled { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("saveas", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public string SaveAS { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("seeding_mode", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
[JsonConverter(typeof(StringEnumConverter))]
|
||||||
|
public DownloadDefaultsSeedingMode? SeedingMode { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("seeding_ratio", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public double? SeedingRatio { get; set; }
|
||||||
|
|
||||||
|
[JsonProperty("seeding_time", NullValueHandling = NullValueHandling.Ignore)]
|
||||||
|
public double? SeedingTime { get; set; }
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
[GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
public enum DownloadDefaultsSeedingMode
|
||||||
public partial class Download_defaults
|
|
||||||
{
|
{
|
||||||
[Newtonsoft.Json.JsonProperty("anonymity_enabled", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
[EnumMember(Value = @"ratio")]
|
||||||
public bool? Anonymity_enabled { get; set; }
|
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("number_hops", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
|
||||||
public int? Number_hops { get; set; }
|
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("safeseeding_enabled", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
|
||||||
public bool? Safeseeding_enabled { get; set; }
|
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("saveas", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
|
||||||
public string Saveas { get; set; }
|
|
||||||
|
|
||||||
[Newtonsoft.Json.JsonProperty("seeding_mode", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
|
||||||
[Newtonsoft.Json.JsonConverter(typeof(Newtonsoft.Json.Converters.StringEnumConverter))]
|
|
||||||
public Download_defaultsSeeding_mode? Seeding_mode { get; set; }
|
|
||||||
|
|
||||||
/// <summary>Seeding ratio download/upload</summary>
|
|
||||||
[Newtonsoft.Json.JsonProperty("seeding_ratio", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
|
||||||
public double? Seeding_ratio { get; set; }
|
|
||||||
|
|
||||||
/// <summary>Seeding time in seconds</summary>
|
|
||||||
[Newtonsoft.Json.JsonProperty("seeding_time", Required = Newtonsoft.Json.Required.Default, NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore)]
|
|
||||||
public double? Seeding_time { get; set; }
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
[System.CodeDom.Compiler.GeneratedCode("NJsonSchema", "10.5.2.0 (Newtonsoft.Json v11.0.0.0)")]
|
|
||||||
public enum Download_defaultsSeeding_mode
|
|
||||||
{
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"ratio")]
|
|
||||||
Ratio = 0,
|
Ratio = 0,
|
||||||
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"forever")]
|
[EnumMember(Value = @"forever")]
|
||||||
Forever = 1,
|
Forever = 1,
|
||||||
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"time")]
|
[EnumMember(Value = @"time")]
|
||||||
Time = 2,
|
Time = 2,
|
||||||
|
|
||||||
[System.Runtime.Serialization.EnumMember(Value = @"never")]
|
[EnumMember(Value = @"never")]
|
||||||
Never = 3,
|
Never = 3,
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -127,22 +127,22 @@ namespace NzbDrone.Core.Download.Clients.Tribler
|
||||||
|
|
||||||
switch (download.Status)
|
switch (download.Status)
|
||||||
{
|
{
|
||||||
case DownloadStatus.HASHCHECKING:
|
case DownloadStatus.Hashchecking:
|
||||||
case DownloadStatus.WAITING4HASHCHECK:
|
case DownloadStatus.Waiting4HashCheck:
|
||||||
case DownloadStatus.CIRCUITS:
|
case DownloadStatus.Circuits:
|
||||||
case DownloadStatus.EXIT_NODES:
|
case DownloadStatus.Exitnodes:
|
||||||
case DownloadStatus.DOWNLOADING:
|
case DownloadStatus.Downloading:
|
||||||
item.Status = DownloadItemStatus.Downloading;
|
item.Status = DownloadItemStatus.Downloading;
|
||||||
break;
|
break;
|
||||||
case DownloadStatus.METADATA:
|
case DownloadStatus.Metadata:
|
||||||
case DownloadStatus.ALLOCATING_DISKSPACE:
|
case DownloadStatus.AllocatingDiskspace:
|
||||||
item.Status = DownloadItemStatus.Queued;
|
item.Status = DownloadItemStatus.Queued;
|
||||||
break;
|
break;
|
||||||
case DownloadStatus.SEEDING:
|
case DownloadStatus.Seeding:
|
||||||
case DownloadStatus.STOPPED:
|
case DownloadStatus.Stopped:
|
||||||
item.Status = DownloadItemStatus.Completed;
|
item.Status = DownloadItemStatus.Completed;
|
||||||
break;
|
break;
|
||||||
case DownloadStatus.STOPPED_ON_ERROR:
|
case DownloadStatus.StoppedOnError:
|
||||||
item.Status = DownloadItemStatus.Failed;
|
item.Status = DownloadItemStatus.Failed;
|
||||||
break;
|
break;
|
||||||
default: // new status in API? default to downloading
|
default: // new status in API? default to downloading
|
||||||
|
@ -153,7 +153,7 @@ namespace NzbDrone.Core.Download.Clients.Tribler
|
||||||
}
|
}
|
||||||
|
|
||||||
// override status' if completed but progress is not finished
|
// override status' if completed but progress is not finished
|
||||||
if (download.Status == DownloadStatus.STOPPED && download.Progress < 1)
|
if (download.Status == DownloadStatus.Stopped && download.Progress < 1)
|
||||||
{
|
{
|
||||||
item.Status = DownloadItemStatus.Paused;
|
item.Status = DownloadItemStatus.Paused;
|
||||||
}
|
}
|
||||||
|
@ -184,7 +184,7 @@ namespace NzbDrone.Core.Download.Clients.Tribler
|
||||||
public override DownloadClientInfo GetStatus()
|
public override DownloadClientInfo GetStatus()
|
||||||
{
|
{
|
||||||
var config = _proxy.GetConfig(Settings);
|
var config = _proxy.GetConfig(Settings);
|
||||||
var destDir = config.Settings.Download_defaults.Saveas;
|
var destDir = config.Settings.DownloadDefaults.SaveAS;
|
||||||
|
|
||||||
if (Settings.TvCategory.IsNotNullOrWhiteSpace())
|
if (Settings.TvCategory.IsNotNullOrWhiteSpace())
|
||||||
{
|
{
|
||||||
|
@ -214,30 +214,30 @@ namespace NzbDrone.Core.Download.Clients.Tribler
|
||||||
}
|
}
|
||||||
|
|
||||||
// if download is still running then it's not finished.
|
// if download is still running then it's not finished.
|
||||||
if (torrent.Status != DownloadStatus.STOPPED)
|
if (torrent.Status != DownloadStatus.Stopped)
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (config.Settings.Download_defaults.Seeding_mode)
|
switch (config.Settings.DownloadDefaults.SeedingMode)
|
||||||
{
|
{
|
||||||
// if in ratio mode, wait for ratio to become larger than expeced. Tribler's DownloadStatus will switch from SEEDING to STOPPED
|
// if in ratio mode, wait for ratio to become larger than expeced. Tribler's DownloadStatus will switch from SEEDING to STOPPED
|
||||||
case Download_defaultsSeeding_mode.Ratio:
|
case DownloadDefaultsSeedingMode.Ratio:
|
||||||
|
|
||||||
return torrent.Ratio.HasValue
|
return torrent.Ratio.HasValue
|
||||||
&& torrent.Ratio >= config.Settings.Download_defaults.Seeding_ratio;
|
&& torrent.Ratio >= config.Settings.DownloadDefaults.SeedingRatio;
|
||||||
|
|
||||||
case Download_defaultsSeeding_mode.Time:
|
case DownloadDefaultsSeedingMode.Time:
|
||||||
var downloadStarted = DateTimeOffset.FromUnixTimeSeconds(torrent.Time_added.Value);
|
var downloadStarted = DateTimeOffset.FromUnixTimeSeconds(torrent.TimeAdded.Value);
|
||||||
var maxSeedingTime = TimeSpan.FromSeconds(config.Settings.Download_defaults.Seeding_time ?? 0);
|
var maxSeedingTime = TimeSpan.FromSeconds(config.Settings.DownloadDefaults.SeedingTime ?? 0);
|
||||||
|
|
||||||
return torrent.Time_added.HasValue
|
return torrent.TimeAdded.HasValue
|
||||||
&& downloadStarted.Add(maxSeedingTime) < DateTimeOffset.Now;
|
&& downloadStarted.Add(maxSeedingTime) < DateTimeOffset.Now;
|
||||||
|
|
||||||
case Download_defaultsSeeding_mode.Never:
|
case DownloadDefaultsSeedingMode.Never:
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
case Download_defaultsSeeding_mode.Forever:
|
case DownloadDefaultsSeedingMode.Forever:
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
@ -249,8 +249,8 @@ namespace NzbDrone.Core.Download.Clients.Tribler
|
||||||
{
|
{
|
||||||
Destination = GetDownloadDirectory(),
|
Destination = GetDownloadDirectory(),
|
||||||
Uri = magnetLink,
|
Uri = magnetLink,
|
||||||
Safe_seeding = Settings.SafeSeeding,
|
SafeSeeding = Settings.SafeSeeding,
|
||||||
Anon_hops = Settings.AnonymityLevel
|
AnonymityHops = Settings.AnonymityLevel
|
||||||
};
|
};
|
||||||
|
|
||||||
return _proxy.AddFromMagnetLink(Settings, addDownloadRequestObject);
|
return _proxy.AddFromMagnetLink(Settings, addDownloadRequestObject);
|
||||||
|
@ -286,7 +286,7 @@ namespace NzbDrone.Core.Download.Clients.Tribler
|
||||||
}
|
}
|
||||||
|
|
||||||
var config = _proxy.GetConfig(Settings);
|
var config = _proxy.GetConfig(Settings);
|
||||||
var destDir = config.Settings.Download_defaults.Saveas;
|
var destDir = config.Settings.DownloadDefaults.SaveAS;
|
||||||
|
|
||||||
return $"{destDir.TrimEnd('/')}/{Settings.TvCategory}";
|
return $"{destDir.TrimEnd('/')}/{Settings.TvCategory}";
|
||||||
}
|
}
|
||||||
|
|
|
@ -105,7 +105,7 @@ namespace NzbDrone.Core.Download.Clients.Tribler
|
||||||
{
|
{
|
||||||
var deleteDownloadRequestObject = new RemoveDownloadRequest
|
var deleteDownloadRequestObject = new RemoveDownloadRequest
|
||||||
{
|
{
|
||||||
Remove_data = deleteData
|
RemoveData = deleteData
|
||||||
};
|
};
|
||||||
|
|
||||||
var deleteRequestBuilder = getRequestBuilder(settings, "downloads/" + item.DownloadId.ToLower());
|
var deleteRequestBuilder = getRequestBuilder(settings, "downloads/" + item.DownloadId.ToLower());
|
||||||
|
@ -124,7 +124,7 @@ namespace NzbDrone.Core.Download.Clients.Tribler
|
||||||
var addDownloadRequestBuilder = getRequestBuilder(settings, "downloads");
|
var addDownloadRequestBuilder = getRequestBuilder(settings, "downloads");
|
||||||
addDownloadRequestBuilder.Method = System.Net.Http.HttpMethod.Put;
|
addDownloadRequestBuilder.Method = System.Net.Http.HttpMethod.Put;
|
||||||
|
|
||||||
// manually set content of delete request.
|
// manually set content of download request.
|
||||||
var addDownloadRequest = addDownloadRequestBuilder.Build();
|
var addDownloadRequest = addDownloadRequestBuilder.Build();
|
||||||
addDownloadRequest.SetContent(Json.ToJson(downloadRequest));
|
addDownloadRequest.SetContent(Json.ToJson(downloadRequest));
|
||||||
|
|
||||||
|
|
|
@ -48,25 +48,28 @@ namespace NzbDrone.Core.Download.Clients.Tribler
|
||||||
[FieldDefinition(2, Label = "Port", Type = FieldType.Textbox)]
|
[FieldDefinition(2, Label = "Port", Type = FieldType.Textbox)]
|
||||||
public int Port { get; set; }
|
public int Port { get; set; }
|
||||||
|
|
||||||
[FieldDefinition(3, Label = "Use SSL", Type = FieldType.Checkbox, HelpText = "Use secure connection when connecting to Tribler")]
|
[FieldDefinition(3, Label = "UseSsl", Type = FieldType.Checkbox, HelpText = "DownloadClientSettingsUseSslHelpText")]
|
||||||
public bool UseSsl { get; set; }
|
public bool UseSsl { get; set; }
|
||||||
|
|
||||||
[FieldDefinition(4, Label = "Url Base", Type = FieldType.Textbox, Advanced = true, HelpText = "Adds a prefix to the tribler url, eg http://[host]:[port]/[urlBase], defaults to ''")]
|
[FieldDefinition(4, Label = "UrlBase", Type = FieldType.Textbox, Advanced = true, HelpText = "DownloadClientSettingsUrlBaseHelpText")]
|
||||||
|
[FieldToken(TokenField.HelpText, "UrlBase", "clientName", "Tribler")]
|
||||||
|
[FieldToken(TokenField.HelpText, "UrlBase", "url", "http://[host]:[port]/[urlBase]")]
|
||||||
|
|
||||||
public string UrlBase { get; set; }
|
public string UrlBase { get; set; }
|
||||||
|
|
||||||
[FieldDefinition(5, Label = "ApiKey", Type = FieldType.Textbox, Privacy = PrivacyLevel.ApiKey, HelpText = "Api key, found in %APPDATA%\\Roaming\\.Tribler\\7.10\\triblerd.conf, the api key is [api].key, NOT [http_api].key")]
|
[FieldDefinition(5, Label = "ApiKey", Type = FieldType.Textbox, Privacy = PrivacyLevel.ApiKey, HelpText = "DownloadClientTriblerSettingsApiKeyHelpText")]
|
||||||
public string ApiKey { get; set; }
|
public string ApiKey { get; set; }
|
||||||
|
|
||||||
[FieldDefinition(6, Label = "Category", Type = FieldType.Textbox, HelpText = "Adding a category specific to Sonarr avoids conflicts with unrelated downloads, but it's optional. Creates a [category] subdirectory in the output directory.")]
|
[FieldDefinition(6, Label = "Category", Type = FieldType.Textbox, HelpText = "DownloadClientSettingsCategoryHelpText")]
|
||||||
public string TvCategory { get; set; }
|
public string TvCategory { get; set; }
|
||||||
|
|
||||||
[FieldDefinition(7, Label = "Directory", Type = FieldType.Textbox, Advanced = true, HelpText = "Optional location to put downloads in, leave blank to use the default Transmission location")]
|
[FieldDefinition(7, Label = "Directory", Type = FieldType.Textbox, Advanced = true, HelpText = "DownloadClientTriblerSettingsDirectoryHelpText")]
|
||||||
public string TvDirectory { get; set; }
|
public string TvDirectory { get; set; }
|
||||||
|
|
||||||
[FieldDefinition(8, Label = "AnonymityLevel", Type = FieldType.Number, HelpText = "Number of proxies to use when downloading content. To disable set to 0. Proxies reduce download/upload speed. See https://www.tribler.org/anonymity.html")]
|
[FieldDefinition(8, Label = "DownloadClientTriblerSettingsAnonymityLevel", Type = FieldType.Number, HelpText = "DownloadClientTriblerSettingsAnonymityLevelHelpText")]
|
||||||
public int AnonymityLevel { get; set; }
|
public int AnonymityLevel { get; set; }
|
||||||
|
|
||||||
[FieldDefinition(9, Label = "SafeSeeding", Type = FieldType.Checkbox, HelpText = "If seeding only should be done through proxies. The Anonymity level defines the number of proxies used. See https://www.tribler.org/anonymity.html")]
|
[FieldDefinition(9, Label = "DownloadClientTriblerSettingsSafeSeeding", Type = FieldType.Checkbox, HelpText = "DownloadClientTriblerSettingsSafeSeedingHelpText")]
|
||||||
public bool SafeSeeding { get; set; }
|
public bool SafeSeeding { get; set; }
|
||||||
|
|
||||||
public NzbDroneValidationResult Validate()
|
public NzbDroneValidationResult Validate()
|
||||||
|
|
|
@ -534,6 +534,12 @@
|
||||||
"DownloadClientStatusSingleClientHealthCheckMessage": "Download clients unavailable due to failures: {downloadClientNames}",
|
"DownloadClientStatusSingleClientHealthCheckMessage": "Download clients unavailable due to failures: {downloadClientNames}",
|
||||||
"DownloadClientTransmissionSettingsDirectoryHelpText": "Optional location to put downloads in, leave blank to use the default Transmission location",
|
"DownloadClientTransmissionSettingsDirectoryHelpText": "Optional location to put downloads in, leave blank to use the default Transmission location",
|
||||||
"DownloadClientTransmissionSettingsUrlBaseHelpText": "Adds a prefix to the {clientName} rpc url, eg {url}, defaults to '{defaultUrl}'",
|
"DownloadClientTransmissionSettingsUrlBaseHelpText": "Adds a prefix to the {clientName} rpc url, eg {url}, defaults to '{defaultUrl}'",
|
||||||
|
"DownloadClientTriblerSettingsAnonymityLevel": "Anonymity level",
|
||||||
|
"DownloadClientTriblerSettingsAnonymityLevelHelpText": "Number of proxies to use when downloading content. To disable set to 0. Proxies reduce download/upload speed. See https://www.tribler.org/anonymity.html",
|
||||||
|
"DownloadClientTriblerSettingsApiKeyHelpText": "Api key, found in %APPDATA%\\Roaming\\.Tribler\\7.14\\triblerd.conf, the api key is [api].key, NOT [http_api].key",
|
||||||
|
"DownloadClientTriblerSettingsDirectoryHelpText": "Optional location to put downloads in, leave blank to use the default Tribler location",
|
||||||
|
"DownloadClientTriblerSettingsSafeSeeding": "Safe Seeding",
|
||||||
|
"DownloadClientTriblerSettingsSafeSeedingHelpText": "If seeding only should be done through proxies. The Anonymity level defines the number of proxies used. See https://www.tribler.org/anonymity.html",
|
||||||
"DownloadClientUTorrentTorrentStateError": "uTorrent is reporting an error",
|
"DownloadClientUTorrentTorrentStateError": "uTorrent is reporting an error",
|
||||||
"DownloadClientValidationApiKeyIncorrect": "API Key Incorrect",
|
"DownloadClientValidationApiKeyIncorrect": "API Key Incorrect",
|
||||||
"DownloadClientValidationApiKeyRequired": "API Key Required",
|
"DownloadClientValidationApiKeyRequired": "API Key Required",
|
||||||
|
|
Loading…
Reference in New Issue