wabbajack/Wabbajack.App.Wpf/UserIntervention/ManualBlobDownloadHandler.cs
2022-05-19 21:23:16 -06:00

27 lines
848 B
C#

using System.Threading;
using System.Threading.Tasks;
using Wabbajack.DTOs.DownloadStates;
using Wabbajack.DTOs.Interventions;
namespace Wabbajack.UserIntervention;
public class ManualBlobDownloadHandler : BrowserWindowViewModel
{
public ManualBlobDownload Intervention { get; set; }
protected override async Task Run(CancellationToken token)
{
await WaitForReady();
var archive = Intervention.Archive;
var md = Intervention.Archive.State as Manual;
HeaderText = $"Manual download ({md.Url.Host})";
Instructions = string.IsNullOrWhiteSpace(md.Prompt) ? $"Please download {archive.Name}" : md.Prompt;
var tsk = WaitForDownload(Intervention.Destination, token);
await NavigateTo(md.Url);
var hash = await tsk;
Intervention.Finish(hash);
}
}