diff --git a/CHANGELOG.md b/CHANGELOG.md index 7288b0f..7c55409 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [2.0.1] - 2021-11-24 +### Changed +- Fixed potential issue with the Real-Debrid mapper. +- Fixed serialization issue for AllDebrid. + ## [2.0.0] - 2021-11-21 ### Changed - Update projects to .NET6 and Angular 13. diff --git a/package.json b/package.json index 453cfe2..a4d7ee5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rdt-client", - "version": "2.0.0", + "version": "2.0.1", "description": "This is a web interface to manage your torrents on Real-Debrid.", "main": "index.js", "dependencies": { diff --git a/server/RdtClient.Service/RdtClient.Service.csproj b/server/RdtClient.Service/RdtClient.Service.csproj index fc6e7c0..c1b84ee 100644 --- a/server/RdtClient.Service/RdtClient.Service.csproj +++ b/server/RdtClient.Service/RdtClient.Service.csproj @@ -1,4 +1,4 @@ - + net6.0 @@ -6,7 +6,7 @@ - + @@ -14,7 +14,7 @@ - + diff --git a/server/RdtClient.Service/Services/TorrentClients/AllDebridTorrentClient.cs b/server/RdtClient.Service/Services/TorrentClients/AllDebridTorrentClient.cs index 92d2dcc..6abfd73 100644 --- a/server/RdtClient.Service/Services/TorrentClients/AllDebridTorrentClient.cs +++ b/server/RdtClient.Service/Services/TorrentClients/AllDebridTorrentClient.cs @@ -238,9 +238,9 @@ namespace RdtClient.Service.Services.TorrentClients foreach (var link in links) { - var fileList = link.Files.SelectMany(file => GetFiles(file)); + var fileList = GetFiles(link.Files, ""); - Log($"{link.Filename} ({link.Size}b) {link.LinkUrl}, contains {String.Join(", ", fileList)}"); + Log($"{link.Filename} ({link.Size}b) {link.LinkUrl}, contains files:{Environment.NewLine}{String.Join(Environment.NewLine, fileList)}"); } Log("", torrent); @@ -248,18 +248,55 @@ namespace RdtClient.Service.Services.TorrentClients return links.Select(m => m.LinkUrl.ToString()).ToList(); } - private static IList GetFiles(File file, String parent = null) + private static IEnumerable GetFiles(IList files, String parent) { - var result = new List - { - $"{parent}/{file.Name}" - }; + var result = new List(); - if (file.Files != null && file.Files.Count > 0) + foreach (var file in files) { - foreach (var subFile in file.Files) + if (!String.IsNullOrWhiteSpace(file.N)) { - result.AddRange(GetFiles(subFile, file.Name)); + result.Add($"{parent}/{file.N}"); + } + + if (file.E != null && file.E.Value.PurpleEArray != null && file.E.Value.PurpleEArray.Count > 0) + { + result.AddRange(GetFiles(file.E.Value.PurpleEArray, file.N)); + } + } + + return result; + } + + private static IEnumerable GetFiles(IList files, String parent) + { + var result = new List(); + + foreach (var file in files) + { + if (!String.IsNullOrWhiteSpace(file.N)) + { + result.Add($"{parent}/{file.N}"); + } + + if (file.E != null && file.E.Count > 0) + { + result.AddRange(GetFiles(file.E, file.N)); + } + } + + return result; + } + + private static IEnumerable GetFiles(IList files, String parent) + { + var result = new List(); + + foreach (var file in files) + { + if (!String.IsNullOrWhiteSpace(file.N)) + { + result.Add($"{parent}/{file.N}"); } }