diff --git a/src/NzbDrone.Core.Test/Download/DownloadClientTests/TransmissionTests/TransmissionFixture.cs b/src/NzbDrone.Core.Test/Download/DownloadClientTests/TransmissionTests/TransmissionFixture.cs index 9d3cb6ef3..3bbb417b9 100644 --- a/src/NzbDrone.Core.Test/Download/DownloadClientTests/TransmissionTests/TransmissionFixture.cs +++ b/src/NzbDrone.Core.Test/Download/DownloadClientTests/TransmissionTests/TransmissionFixture.cs @@ -49,10 +49,13 @@ namespace NzbDrone.Core.Test.Download.DownloadClientTests.TransmissionTests } [Test] - public void magnet_download_should_not_return_the_item() + public void magnet_download_should_be_returned_as_queued() { PrepareClientToReturnMagnetItem(); - Subject.GetItems().Count().Should().Be(0); + + var item = Subject.GetItems().Single(); + + item.Status.Should().Be(DownloadItemStatus.Queued); } [Test] diff --git a/src/NzbDrone.Core/Download/Clients/Transmission/TransmissionBase.cs b/src/NzbDrone.Core/Download/Clients/Transmission/TransmissionBase.cs index 59113cbab..180c6094a 100644 --- a/src/NzbDrone.Core/Download/Clients/Transmission/TransmissionBase.cs +++ b/src/NzbDrone.Core/Download/Clients/Transmission/TransmissionBase.cs @@ -43,12 +43,6 @@ namespace NzbDrone.Core.Download.Clients.Transmission foreach (var torrent in torrents) { - // If totalsize == 0 the torrent is a magnet downloading metadata - if (torrent.TotalSize == 0) - { - continue; - } - var outputPath = new OsPath(torrent.DownloadDir); if (Settings.TvDirectory.IsNotNullOrWhiteSpace()) @@ -99,6 +93,10 @@ namespace NzbDrone.Core.Download.Clients.Transmission item.Status = DownloadItemStatus.Warning; item.Message = torrent.ErrorString; } + else if (torrent.TotalSize == 0) + { + item.Status = DownloadItemStatus.Queued; + } else if (torrent.LeftUntilDone == 0 && (torrent.Status == TransmissionTorrentStatus.Stopped || torrent.Status == TransmissionTorrentStatus.Seeding || torrent.Status == TransmissionTorrentStatus.SeedingWait))