From e225ae43e47ee2123e5e7eda2028bdde72f2fa75 Mon Sep 17 00:00:00 2001 From: GabbeHags <38500419+GabbeHags@users.noreply.github.com> Date: Sat, 23 Nov 2024 13:02:36 +0100 Subject: [PATCH] Fix for the removal of the instant availability api for real-debrid GetAvailableFiles in ReaDebridTorrentClient now returns an empty list. --- .../TorrentClients/RealDebridTorrentClient.cs | 26 ++++++------------- 1 file changed, 8 insertions(+), 18 deletions(-) diff --git a/server/RdtClient.Service/Services/TorrentClients/RealDebridTorrentClient.cs b/server/RdtClient.Service/Services/TorrentClients/RealDebridTorrentClient.cs index 2b09057..dccf6fc 100644 --- a/server/RdtClient.Service/Services/TorrentClients/RealDebridTorrentClient.cs +++ b/server/RdtClient.Service/Services/TorrentClients/RealDebridTorrentClient.cs @@ -57,7 +57,7 @@ public class RealDebridTorrentClient(ILogger logger, IH { logger.LogError(ex, $"The connection to RealDebrid has timed out: {ex.Message}"); - throw; + throw; } } @@ -115,7 +115,7 @@ public class RealDebridTorrentClient(ILogger logger, IH public async Task GetUser() { var user = await GetClient().User.GetAsync(); - + return new() { Username = user.Username, @@ -139,19 +139,9 @@ public class RealDebridTorrentClient(ILogger logger, IH public async Task> GetAvailableFiles(String hash) { - var result = await GetClient().Torrents.GetAvailableFiles(hash); - - var files = result.SelectMany(m => m.Value).SelectMany(m => m.Value).SelectMany(m => m.Values); - - var groups = files.Where(m => m.Filename != null).GroupBy(m => $"{m.Filename}-{m.Filesize}"); - - var torrentClientAvailableFiles = groups.Select(m => new TorrentClientAvailableFile - { - Filename = m.First().Filename!, - Filesize = m.First().Filesize - }).ToList(); - - return torrentClientAvailableFiles; + // Real-Debrid has removed there instant availability api, so we are now forced + // to return an empty list + return await Task.Run(() => new List()); } public async Task SelectFiles(Data.Models.Data.Torrent torrent) @@ -216,7 +206,7 @@ public class RealDebridTorrentClient(ILogger logger, IH files = newFiles; Log($"Found {files.Count} files that match the regex", torrent); - } + } else if (!String.IsNullOrWhiteSpace(torrent.ExcludeRegex)) { Log($"Using regular expression {torrent.IncludeRegex} to ignore files matching this regex", torrent); @@ -380,7 +370,7 @@ public class RealDebridTorrentClient(ILogger logger, IH } Log($"Torrent has {torrent.Files.Count(m => m.Selected)} selected files out of {torrent.Files.Count} files, found {downloadLinks.Count} links, torrent ended: {torrent.RdEnded}", torrent); - + // Check if all the links are set that have been selected if (torrent.Files.Count(m => m.Selected) == downloadLinks.Count) { @@ -413,7 +403,7 @@ public class RealDebridTorrentClient(ILogger logger, IH } Log($"Did not find any suiteable download links", torrent); - + return null; }