Use local Synology for test

This commit is contained in:
YvesPa 2024-10-17 14:32:53 +02:00
parent c562e75a97
commit 5e52e2dd8c
3 changed files with 17 additions and 21 deletions

View file

@ -22,11 +22,11 @@
<PackageReference Include="Serilog" Version="4.0.1" />
<PackageReference Include="Serilog.Sinks.File" Version="6.0.0" />
<PackageReference Include="SharpCompress" Version="0.38.0" />
<PackageReference Include="Synology.Api.Client" Version="0.2.68" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\RdtClient.Data\RdtClient.Data.csproj" />
<ProjectReference Include="..\..\..\Synology.Api.Client\src\Synology.Api.Client\Synology.Api.Client.csproj" />
</ItemGroup>
</Project>

View file

@ -94,7 +94,6 @@ public class DownloadStationDownloader : IDownloader
}
}
var retryCount = 0;
while (retryCount < 5)
{
@ -106,8 +105,6 @@ public class DownloadStationDownloader : IDownloader
}
try
{
await CheckFolderOrCreate(path);
var createResult = await _synologyClient
.DownloadStationApi()
.TaskEndpoint()
@ -115,32 +112,25 @@ public class DownloadStationDownloader : IDownloader
_logger.Debug($"Added download to DownloadStation, received ID {_gid}");
if (createResult.Success)
_gid = createResult.TaskId?.FirstOrDefault();
if (_gid == null) _gid = await GetGidFromUri();
if (_gid != null)
{
_gid = await GetGidFromUri();
if (_gid != null)
{
_logger.Debug($"Download with ID {_gid} found in DownloadStation");
return _gid;
}
else
{
retryCount++;
_logger.Debug($"Task not found in DownloadStation after creat Sucess. Retrying {retryCount}/{RetryCount}");
await Task.Delay(retryCount * 1000);
}
_logger.Debug($"Download with ID {_gid} found in DownloadStation");
return _gid;
}
else
{
retryCount++;
_logger.Debug($"Error starting download: {createResult.Error.Code}. Retrying {retryCount}/{RetryCount}");
_logger.Error($"Task not found in DownloadStation after creat Sucess. Retrying {retryCount}/{RetryCount}");
await Task.Delay(retryCount * 1000);
}
}
catch (Exception e)
{
retryCount++;
_logger.Debug($"Error starting download: {e.Message}. Retrying {retryCount}/{RetryCount}");
_logger.Error($"Error starting download: {e.Message}. Retrying {retryCount}/{RetryCount}");
await Task.Delay(retryCount * 1000);
}
}
@ -151,7 +141,7 @@ public class DownloadStationDownloader : IDownloader
private async Task<String?> GetGidFromUri()
{
var tasks = await _synologyClient.DownloadStationApi().TaskEndpoint().ListAsync();
return tasks.Tasks.FirstOrDefault(t => t.Additional?.Detail?.Uri == _uri)?.Id;
return tasks.Task.FirstOrDefault(t => t.Additional?.Detail?.Uri == _uri)?.Id;
}
public async Task Pause()
@ -181,7 +171,7 @@ public class DownloadStationDownloader : IDownloader
return;
}
if (task.Status == "finished")
if (task.Status == DownloadStationTaskStatus.Finished)
{
DownloadComplete?.Invoke(this, new() { Error = null });
return;

View file

@ -9,6 +9,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RdtClient.Service", "RdtCli
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "RdtClient.Data", "RdtClient.Data\RdtClient.Data.csproj", "{92EF8817-AD73-4301-93BD-745D7D61DD74}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Synology.Api.Client", "..\..\Synology.Api.Client\src\Synology.Api.Client\Synology.Api.Client.csproj", "{FDAAD49C-126C-4612-81C2-3CEB6D7A1105}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -27,6 +29,10 @@ Global
{92EF8817-AD73-4301-93BD-745D7D61DD74}.Debug|Any CPU.Build.0 = Debug|Any CPU
{92EF8817-AD73-4301-93BD-745D7D61DD74}.Release|Any CPU.ActiveCfg = Release|Any CPU
{92EF8817-AD73-4301-93BD-745D7D61DD74}.Release|Any CPU.Build.0 = Release|Any CPU
{FDAAD49C-126C-4612-81C2-3CEB6D7A1105}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{FDAAD49C-126C-4612-81C2-3CEB6D7A1105}.Debug|Any CPU.Build.0 = Debug|Any CPU
{FDAAD49C-126C-4612-81C2-3CEB6D7A1105}.Release|Any CPU.ActiveCfg = Release|Any CPU
{FDAAD49C-126C-4612-81C2-3CEB6D7A1105}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE