mirror of
https://github.com/Sonarr/Sonarr.git
synced 2024-12-16 11:37:58 +02:00
Fixed: Sabnzbd downloads with single obfuscated files in nested subdirectories are now handled appropriately.
This commit is contained in:
parent
8a18124212
commit
e9f39493f4
@ -283,17 +283,21 @@ public void Download_should_use_sabRecentTvPriority_when_recentEpisode_is_true()
|
|||||||
.Verify(v => v.DownloadNzb(It.IsAny<Stream>(), It.IsAny<String>(), It.IsAny<String>(), (int)SabnzbdPriority.High, It.IsAny<SabnzbdSettings>()), Times.Once());
|
.Verify(v => v.DownloadNzb(It.IsAny<Stream>(), It.IsAny<String>(), It.IsAny<String>(), (int)SabnzbdPriority.High, It.IsAny<SabnzbdSettings>()), Times.Once());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[TestCase(@"Droned.S01E01.Pilot.1080p.WEB-DL-DRONE", @"Droned.S01E01_Pilot_1080p_WEB-DL-DRONE.mkv")]
|
||||||
public void should_return_path_to_folder_instead_of_file()
|
[TestCase(@"Droned.S01E01.Pilot.1080p.WEB-DL-DRONE", @"SubDir\Droned.S01E01_Pilot_1080p_WEB-DL-DRONE.mkv")]
|
||||||
|
[TestCase(@"Droned.S01E01.Pilot.1080p.WEB-DL-DRONE.mkv", @"SubDir\Droned.S01E01_Pilot_1080p_WEB-DL-DRONE.mkv")]
|
||||||
|
[TestCase(@"Droned.S01E01.Pilot.1080p.WEB-DL-DRONE.mkv", @"SubDir\SubDir\Droned.S01E01_Pilot_1080p_WEB-DL-DRONE.mkv")]
|
||||||
|
public void should_return_path_to_jobfolder(String title, String storage)
|
||||||
{
|
{
|
||||||
_completed.Items.First().Storage = @"C:\sorted\Droned.S01E01.Pilot.1080p.WEB-DL-DRONE\Droned.S01E01_Pilot_1080p_WEB-DL-DRONE.mkv".AsOsAgnostic();
|
_completed.Items.First().Title = title;
|
||||||
|
_completed.Items.First().Storage = (@"C:\sorted\" + title + @"\" + storage).AsOsAgnostic();
|
||||||
|
|
||||||
WithQueue(null);
|
WithQueue(null);
|
||||||
WithHistory(_completed);
|
WithHistory(_completed);
|
||||||
|
|
||||||
var result = Subject.GetItems().Single();
|
var result = Subject.GetItems().Single();
|
||||||
|
|
||||||
result.OutputPath.Should().Be(@"C:\sorted\Droned.S01E01.Pilot.1080p.WEB-DL-DRONE".AsOsAgnostic());
|
result.OutputPath.Should().Be((@"C:\sorted\" + title).AsOsAgnostic());
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
@ -322,6 +326,19 @@ public void should_not_blow_up_if_storage_is_drive_root()
|
|||||||
result.OutputPath.Should().Be(@"C:\".AsOsAgnostic());
|
result.OutputPath.Should().Be(@"C:\".AsOsAgnostic());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public void should_not_blow_up_if_storage_doesnt_have_jobfolder()
|
||||||
|
{
|
||||||
|
_completed.Items.First().Storage = @"C:\sorted\somewhere\asdfasdf\asdfasdf.mkv".AsOsAgnostic();
|
||||||
|
|
||||||
|
WithQueue(null);
|
||||||
|
WithHistory(_completed);
|
||||||
|
|
||||||
|
var result = Subject.GetItems().Single();
|
||||||
|
|
||||||
|
result.OutputPath.Should().Be(@"C:\sorted\somewhere\asdfasdf\asdfasdf.mkv".AsOsAgnostic());
|
||||||
|
}
|
||||||
|
|
||||||
[TestCase(@"Y:\nzbget\root", @"completed\downloads", @"vv", @"Y:\nzbget\root\completed\downloads\vv")]
|
[TestCase(@"Y:\nzbget\root", @"completed\downloads", @"vv", @"Y:\nzbget\root\completed\downloads\vv")]
|
||||||
[TestCase(@"Y:\nzbget\root", @"completed", @"vv", @"Y:\nzbget\root\completed\vv")]
|
[TestCase(@"Y:\nzbget\root", @"completed", @"vv", @"Y:\nzbget\root\completed\vv")]
|
||||||
[TestCase(@"/nzbget/root", @"completed/downloads", @"vv", @"/nzbget/root/completed/downloads/vv")]
|
[TestCase(@"/nzbget/root", @"completed/downloads", @"vv", @"/nzbget/root/completed/downloads/vv")]
|
||||||
|
@ -163,14 +163,16 @@ private IEnumerable<DownloadClientItem> GetHistory()
|
|||||||
|
|
||||||
if (!sabHistoryItem.Storage.IsNullOrWhiteSpace())
|
if (!sabHistoryItem.Storage.IsNullOrWhiteSpace())
|
||||||
{
|
{
|
||||||
|
historyItem.OutputPath = sabHistoryItem.Storage;
|
||||||
|
|
||||||
var parent = sabHistoryItem.Storage.GetParentPath();
|
var parent = sabHistoryItem.Storage.GetParentPath();
|
||||||
if (parent != null && Path.GetFileName(parent) == sabHistoryItem.Title)
|
while (parent != null)
|
||||||
{
|
{
|
||||||
historyItem.OutputPath = parent;
|
if (Path.GetFileName(parent) == sabHistoryItem.Title)
|
||||||
}
|
{
|
||||||
else
|
historyItem.OutputPath = parent;
|
||||||
{
|
}
|
||||||
historyItem.OutputPath = sabHistoryItem.Storage;
|
parent = parent.GetParentPath();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user