Fixed: Get full path for download station instead of shared folder

Closes #4751
This commit is contained in:
Mark McDowall 2021-11-21 11:39:22 -08:00
parent 86fa6036d0
commit b184e62fa7
2 changed files with 16 additions and 4 deletions

View File

@ -115,12 +115,18 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation
{ {
try try
{ {
var path = GetDownloadDirectory(); var serialNumber = _serialNumberProvider.GetSerialNumber(Settings);
// Download station returns the path without the leading `/`, but the leading
// slash is required to get the full path back from download station.
var path = new OsPath($"/{GetDownloadDirectory()}");
var fullPath = _sharedFolderResolver.RemapToFullPath(path, Settings, serialNumber);
return new DownloadClientInfo return new DownloadClientInfo
{ {
IsLocalhost = Settings.Host == "127.0.0.1" || Settings.Host == "localhost", IsLocalhost = Settings.Host == "127.0.0.1" || Settings.Host == "localhost",
OutputRootFolders = new List<OsPath> { _remotePathMappingService.RemapRemoteToLocal(Settings.Host, new OsPath(path)) } OutputRootFolders = new List<OsPath> { _remotePathMappingService.RemapRemoteToLocal(Settings.Host, fullPath) }
}; };
} }
catch (DownloadClientException e) catch (DownloadClientException e)

View File

@ -140,12 +140,18 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation
{ {
try try
{ {
var path = GetDownloadDirectory(); var serialNumber = _serialNumberProvider.GetSerialNumber(Settings);
// Download station returns the path without the leading `/`, but the leading
// slash is required to get the full path back from download station.
var path = new OsPath($"/{GetDownloadDirectory()}");
var fullPath = _sharedFolderResolver.RemapToFullPath(path, Settings, serialNumber);
return new DownloadClientInfo return new DownloadClientInfo
{ {
IsLocalhost = Settings.Host == "127.0.0.1" || Settings.Host == "localhost", IsLocalhost = Settings.Host == "127.0.0.1" || Settings.Host == "localhost",
OutputRootFolders = new List<OsPath> { _remotePathMappingService.RemapRemoteToLocal(Settings.Host, new OsPath(path)) } OutputRootFolders = new List<OsPath> { _remotePathMappingService.RemapRemoteToLocal(Settings.Host, fullPath) }
}; };
} }
catch (DownloadClientException e) catch (DownloadClientException e)