From bd96795f3479e1ae940d3d92a8a6599b0733ef54 Mon Sep 17 00:00:00 2001 From: Sam Heinz <54530346+asylumexp@users.noreply.github.com> Date: Sun, 16 Mar 2025 20:32:00 +1000 Subject: [PATCH] [TB] fix: moving hash dir files too far up --- .../Services/TorrentClients/TorBoxTorrentClient.cs | 10 ++++++++-- server/RdtClient.Service/Services/UnpackClient.cs | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs b/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs index 72dd2e0..a432946 100644 --- a/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs +++ b/server/RdtClient.Service/Services/TorrentClients/TorBoxTorrentClient.cs @@ -353,14 +353,20 @@ public class TorBoxTorrentClient(ILogger logger, IHttpClien return Map(result!); } - - public static void MoveHashDirectoryUpTB(String extractPath, Torrent _torrent) + + public static void MoveHashDirContents(String extractPath, Torrent _torrent) { var hashDir = Path.Combine(extractPath, _torrent.Hash); + if (Directory.Exists(hashDir)) { var innerFolder = Directory.GetDirectories(hashDir)[0]; + if (!Path.GetFileName(innerFolder).Equals(_torrent.Hash, StringComparison.CurrentCultureIgnoreCase)) + { + innerFolder = hashDir; + } + foreach (var file in Directory.GetFiles(innerFolder)) { var destFile = Path.Combine(extractPath, Path.GetFileName(file)); diff --git a/server/RdtClient.Service/Services/UnpackClient.cs b/server/RdtClient.Service/Services/UnpackClient.cs index b94cb14..cf48458 100644 --- a/server/RdtClient.Service/Services/UnpackClient.cs +++ b/server/RdtClient.Service/Services/UnpackClient.cs @@ -106,7 +106,7 @@ public class UnpackClient(Download download, String destinationPath) if (Settings.Get.Provider.Provider == Data.Enums.Provider.TorBox) { - TorBoxTorrentClient.MoveHashDirectoryUpTB(extractPath, _torrent); + TorBoxTorrentClient.MoveHashDirContents(extractPath, _torrent); } } catch (Exception ex)