From 70584d1acb49d32227142482624d8f6b2758a379 Mon Sep 17 00:00:00 2001 From: Sam Heinz <54530346+asylumexp@users.noreply.github.com> Date: Sun, 1 Sep 2024 19:46:05 +1000 Subject: [PATCH] Add DB values for seeding and zipped, pass to addtorrent --- client/src/app/setup/setup.component.html | 3 ++- server/RdtClient.Data/Models/Internal/DbSettings.cs | 8 ++++++++ .../Services/TorrentClients/TorBoxTorrentClient.cs | 12 +++++++----- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/client/src/app/setup/setup.component.html b/client/src/app/setup/setup.component.html index c794ba9..643e618 100644 --- a/client/src/app/setup/setup.component.html +++ b/client/src/app/setup/setup.component.html @@ -55,7 +55,8 @@ Use this link to sign up to Premiumize. - Use this link to sign up to Premiumize. + Use this link to sign up to TorBox.
(Referal links) diff --git a/server/RdtClient.Data/Models/Internal/DbSettings.cs b/server/RdtClient.Data/Models/Internal/DbSettings.cs index ee58bb5..1f014ad 100644 --- a/server/RdtClient.Data/Models/Internal/DbSettings.cs +++ b/server/RdtClient.Data/Models/Internal/DbSettings.cs @@ -263,4 +263,12 @@ public class DbSettingsDefaults [DisplayName("Priority")] [Description("Set the priority of a torrent, 1 = highest, 0 = disabled.")] public Int32 Priority { get; set; } = 0; + + [DisplayName("Seeding")] + [Description("Set the priority of a torrent, 1 = Auto, 2 = Seed, 3 = disabled. [TorBox Only]")] + public Int32 Seeding { get; set; } = 3; + + [DisplayName("Download as Zip")] + [Description("Whether to download the files individually or zipped. [TorBox Only]")] + public bool Zipped { get; set; } = true; } \ No newline at end of file diff --git a/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs b/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs index 3671be3..5879ef4 100644 --- a/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs +++ b/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs @@ -4,14 +4,14 @@ using TorBoxNET; using RdtClient.Data.Enums; using RdtClient.Data.Models.TorrentClient; using RdtClient.Service.Helpers; -using MonoTorrent; +using RdtClient.Data.Models.Internal; namespace RdtClient.Service.Services.TorrentClients; public class TorBoxTorrentClient(ILogger logger, IHttpClientFactory httpClientFactory) : ITorrentClient { private TimeSpan? _offset; - + private DbSettingsDefaults _dbSettings = new DbSettingsDefaults(); private TorBoxNetClient GetClient() { try @@ -122,7 +122,8 @@ public class TorBoxTorrentClient(ILogger logger, IHttpClien public async Task AddMagnet(String magnetLink) { - var result = await GetClient().Torrents.AddMagnetAsync(magnetLink, seeding: 2); + + var result = await GetClient().Torrents.AddMagnetAsync(magnetLink, _dbSettings.Seeding, _dbSettings.Zipped); if (result.Error == "ACTIVE_LIMIT") { @@ -137,7 +138,7 @@ public class TorBoxTorrentClient(ILogger logger, IHttpClien public async Task AddFile(Byte[] bytes) { - var result = await GetClient().Torrents.AddFileAsync(bytes, seeding: 2); + var result = await GetClient().Torrents.AddFileAsync(bytes, _dbSettings.Seeding, _dbSettings.Zipped); if (result.Error == "ACTIVE_LIMIT") { using (var stream = new MemoryStream(bytes)) @@ -145,7 +146,8 @@ public class TorBoxTorrentClient(ILogger logger, IHttpClien var torrent = MonoTorrent.Torrent.Load(stream); return torrent!.InfoHash.ToHex()!.ToLowerInvariant(); } - } else + } + else { return result.Data!.Hash!; }