Fixed: DownloadStation interface stuck in infinite loop in some cases.
* removed empty spaces. changed dcaex => ex * Changed error message * changed error message * Wrong message, ups * Another message
This commit is contained in:
parent
afe05189da
commit
9a870a3709
|
@ -49,7 +49,7 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation.Proxies
|
||||||
{
|
{
|
||||||
if (retries == 5)
|
if (retries == 5)
|
||||||
{
|
{
|
||||||
throw new DownloadClientException("Try to process same request more than 5 times");
|
throw new DownloadClientException("Try to process request to {0} with {1} more than 5 times", api, arguments.ToJson().ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!_authenticated && api != DiskStationApi.Info && api != DiskStationApi.DSMInfo)
|
if (!_authenticated && api != DiskStationApi.Info && api != DiskStationApi.DSMInfo)
|
||||||
|
@ -72,14 +72,20 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation.Proxies
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
var msg = $"Failed to {operation}. Reason: {responseContent.Error.GetMessage(api)}";
|
||||||
|
_logger.Error(msg);
|
||||||
|
|
||||||
if (responseContent.Error.SessionError)
|
if (responseContent.Error.SessionError)
|
||||||
{
|
{
|
||||||
_authenticated = false;
|
_authenticated = false;
|
||||||
return ProcessRequest<T>(api, arguments, settings, operation, method, retries++);
|
|
||||||
}
|
|
||||||
|
|
||||||
var msg = $"Failed to {operation}. Reason: {responseContent.Error.GetMessage(api)}";
|
if (responseContent.Error.Code == 105)
|
||||||
_logger.Error(msg);
|
{
|
||||||
|
throw new DownloadClientAuthenticationException(msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
return ProcessRequest<T>(api, arguments, settings, operation, method, ++retries);
|
||||||
|
}
|
||||||
|
|
||||||
throw new DownloadClientException(msg);
|
throw new DownloadClientException(msg);
|
||||||
}
|
}
|
||||||
|
|
|
@ -272,7 +272,17 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var downloadDir = GetDownloadDirectory();
|
var downloadDir = GetDefaultDir();
|
||||||
|
|
||||||
|
if (downloadDir == null)
|
||||||
|
{
|
||||||
|
return new NzbDroneValidationFailure(nameof(Settings.TvDirectory), "No default destination")
|
||||||
|
{
|
||||||
|
DetailedDescription = $"You must login into your Diskstation as {Settings.Username} and manually set it up into DownloadStation settings under BT/HTTP/FTP/NZB -> Location."
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
downloadDir = GetDownloadDirectory();
|
||||||
|
|
||||||
if (downloadDir != null)
|
if (downloadDir != null)
|
||||||
{
|
{
|
||||||
|
@ -285,7 +295,7 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation
|
||||||
{
|
{
|
||||||
return new NzbDroneValidationFailure(fieldName, $"Shared folder does not exist")
|
return new NzbDroneValidationFailure(fieldName, $"Shared folder does not exist")
|
||||||
{
|
{
|
||||||
DetailedDescription = $"The DownloadStation does not have a Shared Folder with the name '{sharedFolder}', are you sure you specified it correctly?"
|
DetailedDescription = $"The Diskstation does not have a Shared Folder with the name '{sharedFolder}', are you sure you specified it correctly?"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -300,6 +310,11 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
catch (DownloadClientAuthenticationException ex) // User could not have permission to access to downloadstation
|
||||||
|
{
|
||||||
|
_logger.Error(ex);
|
||||||
|
return new NzbDroneValidationFailure(string.Empty, ex.Message);
|
||||||
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_logger.Error(ex);
|
_logger.Error(ex);
|
||||||
|
|
|
@ -190,7 +190,17 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var downloadDir = GetDownloadDirectory();
|
var downloadDir = GetDefaultDir();
|
||||||
|
|
||||||
|
if (downloadDir == null)
|
||||||
|
{
|
||||||
|
return new NzbDroneValidationFailure(nameof(Settings.TvDirectory), "No default destination")
|
||||||
|
{
|
||||||
|
DetailedDescription = $"You must login into your Diskstation as {Settings.Username} and manually set it up into DownloadStation settings under BT/HTTP/FTP/NZB -> Location."
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
downloadDir = GetDownloadDirectory();
|
||||||
|
|
||||||
if (downloadDir != null)
|
if (downloadDir != null)
|
||||||
{
|
{
|
||||||
|
@ -203,7 +213,7 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation
|
||||||
{
|
{
|
||||||
return new NzbDroneValidationFailure(fieldName, $"Shared folder does not exist")
|
return new NzbDroneValidationFailure(fieldName, $"Shared folder does not exist")
|
||||||
{
|
{
|
||||||
DetailedDescription = $"The DownloadStation does not have a Shared Folder with the name '{sharedFolder}', are you sure you specified it correctly?"
|
DetailedDescription = $"The Diskstation does not have a Shared Folder with the name '{sharedFolder}', are you sure you specified it correctly?"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -218,6 +228,11 @@ namespace NzbDrone.Core.Download.Clients.DownloadStation
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
catch (DownloadClientAuthenticationException ex) // User could not have permission to access to downloadstation
|
||||||
|
{
|
||||||
|
_logger.Error(ex);
|
||||||
|
return new NzbDroneValidationFailure(string.Empty, ex.Message);
|
||||||
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
_logger.Error(ex);
|
_logger.Error(ex);
|
||||||
|
|
Loading…
Reference in New Issue