1
0
Fork 0
mirror of https://github.com/lidarr/Lidarr synced 2024-12-21 23:32:27 +00:00

Fixed: Status check for completed directories in Deluge

(cherry picked from commit 33139d4b53c1adad769c7e2b0510e8990c66b84a)
This commit is contained in:
Bogdan 2024-10-27 00:22:16 +03:00
parent f7acd57f73
commit 96b51a02e2
2 changed files with 30 additions and 7 deletions

View file

@ -312,11 +312,12 @@ public void GetItems_should_ignore_items_without_hash()
[Test]
public void should_return_status_with_outputdirs()
{
var configItems = new Dictionary<string, object>();
configItems.Add("download_location", @"C:\Downloads\Downloading\deluge".AsOsAgnostic());
configItems.Add("move_completed_path", @"C:\Downloads\Finished\deluge".AsOsAgnostic());
configItems.Add("move_completed", true);
var configItems = new Dictionary<string, object>
{
{ "download_location", @"C:\Downloads\Downloading\deluge".AsOsAgnostic() },
{ "move_completed_path", @"C:\Downloads\Finished\deluge".AsOsAgnostic() },
{ "move_completed", true }
};
Mocker.GetMock<IDelugeProxy>()
.Setup(v => v.GetConfig(It.IsAny<DelugeSettings>()))
@ -328,5 +329,18 @@ public void should_return_status_with_outputdirs()
result.OutputRootFolders.Should().NotBeNull();
result.OutputRootFolders.First().Should().Be(@"C:\Downloads\Finished\deluge".AsOsAgnostic());
}
[Test]
public void should_return_status_with_outputdirs_for_directories_in_settings()
{
Subject.Definition.Settings.As<DelugeSettings>().DownloadDirectory = @"D:\Downloads\Downloading\deluge".AsOsAgnostic();
Subject.Definition.Settings.As<DelugeSettings>().CompletedDirectory = @"D:\Downloads\Finished\deluge".AsOsAgnostic();
var result = Subject.GetStatus();
result.IsLocalhost.Should().BeTrue();
result.OutputRootFolders.Should().NotBeNull();
result.OutputRootFolders.First().Should().Be(@"D:\Downloads\Finished\deluge".AsOsAgnostic());
}
}
}

View file

@ -214,9 +214,18 @@ public override DownloadClientInfo GetStatus()
{
var config = _proxy.GetConfig(Settings);
var label = _proxy.GetLabelOptions(Settings);
OsPath destDir;
if (label != null && label.ApplyMoveCompleted && label.MoveCompleted)
if (Settings.CompletedDirectory.IsNotNullOrWhiteSpace())
{
destDir = new OsPath(Settings.CompletedDirectory);
}
else if (Settings.DownloadDirectory.IsNotNullOrWhiteSpace())
{
destDir = new OsPath(Settings.DownloadDirectory);
}
else if (label is { ApplyMoveCompleted: true, MoveCompleted: true })
{
// if label exists and a label completed path exists and is enabled use it instead of global
destDir = new OsPath(label.MoveCompletedPath);
@ -232,7 +241,7 @@ public override DownloadClientInfo GetStatus()
var status = new DownloadClientInfo
{
IsLocalhost = Settings.Host == "127.0.0.1" || Settings.Host == "localhost"
IsLocalhost = Settings.Host is "127.0.0.1" or "localhost"
};
if (!destDir.IsEmpty)