diff --git a/Wabbajack/Downloaders/ManualDownloader.cs b/Wabbajack/Downloaders/ManualDownloader.cs new file mode 100644 index 00000000..5a655433 --- /dev/null +++ b/Wabbajack/Downloaders/ManualDownloader.cs @@ -0,0 +1,47 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Wabbajack.Common; +using Wabbajack.Validation; + +namespace Wabbajack.Downloaders +{ + class ManualDownloader : IDownloader + { + public AbstractDownloadState GetDownloaderState(dynamic archive_ini) + { + var url = archive_ini?.General?.manualURL; + return url != null ? new State { Url = url} : null; + } + + public void Prepare() + { + } + + public class State : AbstractDownloadState + { + public string Url { get; set; } + public override bool IsWhitelisted(ServerWhitelist whitelist) + { + return true; + } + + public override void Download(Archive a, string destination) + { + Utils.Log($"You must manually visit {Url} and download {a.Name} file by hand."); + } + + public override bool Verify() + { + return true; + } + + public override IDownloader GetDownloader() + { + return DownloadDispatcher.GetInstance(); + } + } + } +}