mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Revert "Changed Url to URL and removed GetReportEntry"
This reverts commit d62d40add41e7c7e37c2b6bae677bcc6c1d1f356.
This commit is contained in:
parent
cc0577b0d8
commit
fda325eecf
@ -38,9 +38,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
}
|
||||
|
||||
public abstract object[] PrimaryKey { get; }
|
||||
|
||||
public abstract string URL { get; set; }
|
||||
|
||||
|
||||
public string PrimaryKeyString
|
||||
{
|
||||
get
|
||||
@ -84,6 +82,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
|
||||
public abstract IDownloader GetDownloader();
|
||||
|
||||
public abstract string GetReportEntry(Archive a);
|
||||
public abstract string[] GetMetaIni();
|
||||
}
|
||||
}
|
||||
|
@ -53,12 +53,6 @@ namespace Wabbajack.Lib.Downloaders
|
||||
public string FileID { get; set; }
|
||||
public string FileName { get; set; }
|
||||
|
||||
public override string URL
|
||||
{
|
||||
get => Site;
|
||||
set => throw new NotImplementedException();
|
||||
}
|
||||
|
||||
private static bool IsHTTPS => Downloader.SiteURL.AbsolutePath.StartsWith("https://");
|
||||
private static string URLPrefix => IsHTTPS ? "https://" : "http://";
|
||||
|
||||
@ -160,6 +154,11 @@ namespace Wabbajack.Lib.Downloaders
|
||||
return DownloadDispatcher.GetInstance<TDownloader>();
|
||||
}
|
||||
|
||||
public override string GetReportEntry(Archive a)
|
||||
{
|
||||
return $"* {((INeedsLogin)GetDownloader()).SiteName} - [{a.Name}]({Site}/files/file/{FileName}/?do=download&r={FileID})";
|
||||
}
|
||||
|
||||
public override string[] GetMetaIni()
|
||||
{
|
||||
if (FileID != null)
|
||||
|
@ -110,9 +110,6 @@ namespace Wabbajack.Lib.Downloaders
|
||||
{
|
||||
public string GameName { get; set; }
|
||||
public string ContentId { get; set; }
|
||||
|
||||
public override string URL { get; set; }
|
||||
|
||||
public override object[] PrimaryKey => new object[] {GameName, ContentId};
|
||||
|
||||
public override bool IsWhitelisted(ServerWhitelist whitelist)
|
||||
@ -258,6 +255,11 @@ namespace Wabbajack.Lib.Downloaders
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override string GetReportEntry(Archive a)
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
}
|
||||
|
||||
public override string[] GetMetaIni()
|
||||
{
|
||||
throw new NotImplementedException();
|
||||
|
@ -28,7 +28,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
|
||||
return new HTTPDownloader.State()
|
||||
{
|
||||
URL = uri.ToString().Replace("dropbox.com:443/", "dropbox.com/")
|
||||
Url = uri.ToString().Replace("dropbox.com:443/", "dropbox.com/")
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -55,8 +55,6 @@ namespace Wabbajack.Lib.Downloaders
|
||||
|
||||
internal string SourcePath => Path.Combine(Game.MetaData().GameLocation(), GameFile);
|
||||
|
||||
public override string URL { get; set; }
|
||||
|
||||
public override object[] PrimaryKey { get => new object[] {Game, GameVersion, GameFile}; }
|
||||
|
||||
public override bool IsWhitelisted(ServerWhitelist whitelist)
|
||||
@ -85,6 +83,11 @@ namespace Wabbajack.Lib.Downloaders
|
||||
return DownloadDispatcher.GetInstance<GameFileSourceDownloader>();
|
||||
}
|
||||
|
||||
public override string GetReportEntry(Archive a)
|
||||
{
|
||||
return $"* Game File {Game} - {GameFile}";
|
||||
}
|
||||
|
||||
public override string[] GetMetaIni()
|
||||
{
|
||||
return new[] {"[General]", $"gameName={Game.MetaData().MO2ArchiveName}", $"gameFile={GameFile}"};
|
||||
|
@ -37,9 +37,6 @@ namespace Wabbajack.Lib.Downloaders
|
||||
public class State : AbstractDownloadState
|
||||
{
|
||||
public string Id { get; set; }
|
||||
|
||||
public override string URL { get; set; }
|
||||
|
||||
public override object[] PrimaryKey { get => new object[] {Id}; }
|
||||
|
||||
public override bool IsWhitelisted(ServerWhitelist whitelist)
|
||||
@ -63,7 +60,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
var regex = new Regex("(?<=/uc\\?export=download&confirm=).*(?=;id=)");
|
||||
var confirm = regex.Match(await response.Content.ReadAsStringAsync());
|
||||
var url = $"https://drive.google.com/uc?export=download&confirm={confirm}&id={Id}";
|
||||
var httpState = new HTTPDownloader.State {URL = url, Client = client};
|
||||
var httpState = new HTTPDownloader.State {Url = url, Client = client};
|
||||
return httpState;
|
||||
}
|
||||
|
||||
@ -78,6 +75,11 @@ namespace Wabbajack.Lib.Downloaders
|
||||
return DownloadDispatcher.GetInstance<GoogleDriveDownloader>();
|
||||
}
|
||||
|
||||
public override string GetReportEntry(Archive a)
|
||||
{
|
||||
return $"* GoogleDrive - [{a.Name}](https://drive.google.com/uc?id={Id}&export=download)";
|
||||
}
|
||||
|
||||
public override string[] GetMetaIni()
|
||||
{
|
||||
return new [] {"[General]",$"directURL=https://drive.google.com/uc?id={Id}&export=download"};
|
||||
|
@ -36,7 +36,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
{
|
||||
var tmp = new State
|
||||
{
|
||||
URL = url
|
||||
Url = url
|
||||
};
|
||||
if (archiveINI?.General?.directURLHeaders != null)
|
||||
{
|
||||
@ -56,18 +56,18 @@ namespace Wabbajack.Lib.Downloaders
|
||||
[MemberConfig(TargetMember.All)]
|
||||
public class State : AbstractDownloadState
|
||||
{
|
||||
public override string URL { get; set; }
|
||||
public string Url { get; set; }
|
||||
|
||||
public List<string> Headers { get; set; }
|
||||
|
||||
[Exclude]
|
||||
public HttpClient Client { get; set; }
|
||||
|
||||
public override object[] PrimaryKey { get => new object[] {URL};}
|
||||
public override object[] PrimaryKey { get => new object[] {Url};}
|
||||
|
||||
public override bool IsWhitelisted(ServerWhitelist whitelist)
|
||||
{
|
||||
return whitelist.AllowedPrefixes.Any(p => URL.StartsWith(p));
|
||||
return whitelist.AllowedPrefixes.Any(p => Url.StartsWith(p));
|
||||
}
|
||||
|
||||
public override Task<bool> Download(Archive a, string destination)
|
||||
@ -101,8 +101,8 @@ namespace Wabbajack.Lib.Downloaders
|
||||
long totalRead = 0;
|
||||
var bufferSize = 1024 * 32;
|
||||
|
||||
Utils.Status($"Starting Download {a?.Name ?? URL}", 0);
|
||||
var response = await client.GetAsync(URL, HttpCompletionOption.ResponseHeadersRead);
|
||||
Utils.Status($"Starting Download {a?.Name ?? Url}", 0);
|
||||
var response = await client.GetAsync(Url, HttpCompletionOption.ResponseHeadersRead);
|
||||
TOP:
|
||||
|
||||
if (!response.IsSuccessStatusCode)
|
||||
@ -115,7 +115,7 @@ TOP:
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
Utils.Error(ex, $"While downloading {URL}");
|
||||
Utils.Error(ex, $"While downloading {Url}");
|
||||
return false;
|
||||
}
|
||||
|
||||
@ -162,9 +162,9 @@ TOP:
|
||||
if (supportsResume)
|
||||
{
|
||||
Utils.Log(
|
||||
$"Abort during download, trying to resume {URL} from {totalRead.ToFileSizeString()}");
|
||||
$"Abort during download, trying to resume {Url} from {totalRead.ToFileSizeString()}");
|
||||
|
||||
var msg = new HttpRequestMessage(HttpMethod.Get, URL);
|
||||
var msg = new HttpRequestMessage(HttpMethod.Get, Url);
|
||||
msg.Headers.Range = new RangeHeaderValue(totalRead, null);
|
||||
response = await client.SendAsync(msg,
|
||||
HttpCompletionOption.ResponseHeadersRead);
|
||||
@ -200,14 +200,19 @@ TOP:
|
||||
return DownloadDispatcher.GetInstance<HTTPDownloader>();
|
||||
}
|
||||
|
||||
public override string GetReportEntry(Archive a)
|
||||
{
|
||||
return $"* [{a.Name} - {Url}]({Url})";
|
||||
}
|
||||
|
||||
public override string[] GetMetaIni()
|
||||
{
|
||||
if (Headers != null)
|
||||
return new [] {"[General]",
|
||||
$"directURL={URL}",
|
||||
$"directURL={Url}",
|
||||
$"directURLHeaders={string.Join("|", Headers)}"};
|
||||
else
|
||||
return new [] {"[General]", $"directURL={URL}"};
|
||||
return new [] {"[General]", $"directURL={Url}"};
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
public AbstractDownloadState GetDownloaderState(string url)
|
||||
{
|
||||
if (url != null && url.StartsWith(Consts.MegaPrefix))
|
||||
return new State { URL = url };
|
||||
return new State { Url = url };
|
||||
return null;
|
||||
}
|
||||
|
||||
@ -31,7 +31,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
var client = new MegaApiClient();
|
||||
Utils.Status("Logging into MEGA (as anonymous)");
|
||||
client.LoginAnonymous();
|
||||
var fileLink = new Uri(URL);
|
||||
var fileLink = new Uri(Url);
|
||||
var node = client.GetNodeFromLink(fileLink);
|
||||
Utils.Status($"Downloading MEGA file: {a.Name}");
|
||||
client.DownloadFile(fileLink, destination);
|
||||
@ -43,7 +43,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
var client = new MegaApiClient();
|
||||
Utils.Status("Logging into MEGA (as anonymous)");
|
||||
client.LoginAnonymous();
|
||||
var fileLink = new Uri(URL);
|
||||
var fileLink = new Uri(Url);
|
||||
try
|
||||
{
|
||||
var node = client.GetNodeFromLink(fileLink);
|
||||
|
@ -63,7 +63,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
public async Task<AbstractDownloadState> GetDownloaderState(dynamic archiveINI)
|
||||
{
|
||||
var url = archiveINI?.General?.manualURL;
|
||||
return url != null ? new State { URL = url} : null;
|
||||
return url != null ? new State { Url = url} : null;
|
||||
}
|
||||
|
||||
public async Task Prepare()
|
||||
@ -72,9 +72,8 @@ namespace Wabbajack.Lib.Downloaders
|
||||
|
||||
public class State : AbstractDownloadState
|
||||
{
|
||||
public override string URL { get; set; }
|
||||
|
||||
public override object[] PrimaryKey { get => new object[] {URL}; }
|
||||
public string Url { get; set; }
|
||||
public override object[] PrimaryKey { get => new object[] {Url}; }
|
||||
|
||||
public override bool IsWhitelisted(ServerWhitelist whitelist)
|
||||
{
|
||||
@ -89,7 +88,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
{
|
||||
try
|
||||
{
|
||||
Utils.Log($"You must manually visit {URL} and download {a.Name} file by hand");
|
||||
Utils.Log($"You must manually visit {Url} and download {a.Name} file by hand");
|
||||
Utils.Log($"Waiting for {a.Name}");
|
||||
downloader._watcher.EnableRaisingEvents = true;
|
||||
var watcher = downloader._fileEvents
|
||||
@ -98,7 +97,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
.Buffer(new TimeSpan(0, 5, 0), 1)
|
||||
.Select(x => x.FirstOrDefault())
|
||||
.FirstOrDefaultAsync();
|
||||
Process.Start(URL);
|
||||
Process.Start(Url);
|
||||
|
||||
absPath = (await watcher)?.FullPath;
|
||||
if (!File.Exists(absPath))
|
||||
@ -123,11 +122,16 @@ namespace Wabbajack.Lib.Downloaders
|
||||
return DownloadDispatcher.GetInstance<ManualDownloader>();
|
||||
}
|
||||
|
||||
public override string GetReportEntry(Archive a)
|
||||
{
|
||||
return $"* Manual Download - [{a.Name} - {Url}]({Url})";
|
||||
}
|
||||
|
||||
public override string[] GetMetaIni()
|
||||
{
|
||||
return new [] {
|
||||
"[General]",
|
||||
$"manualURL={URL}"
|
||||
$"manualURL={Url}"
|
||||
|
||||
};
|
||||
}
|
||||
|
@ -16,19 +16,19 @@ namespace Wabbajack.Lib.Downloaders
|
||||
|
||||
return new State
|
||||
{
|
||||
URL = url.ToString()
|
||||
Url = url.ToString()
|
||||
};
|
||||
}
|
||||
|
||||
public class State : AbstractDownloadState
|
||||
{
|
||||
public override string URL { get; set; }
|
||||
public string Url { get; set; }
|
||||
|
||||
public override object[] PrimaryKey { get => new object[] {URL};}
|
||||
public override object[] PrimaryKey { get => new object[] {Url};}
|
||||
|
||||
public override bool IsWhitelisted(ServerWhitelist whitelist)
|
||||
{
|
||||
return whitelist.AllowedPrefixes.Any(p => URL.StartsWith(p));
|
||||
return whitelist.AllowedPrefixes.Any(p => Url.StartsWith(p));
|
||||
}
|
||||
|
||||
public override async Task<bool> Download(Archive a, string destination)
|
||||
@ -54,7 +54,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
return new HTTPDownloader.State()
|
||||
{
|
||||
Client = new HttpClient(),
|
||||
URL = newURL
|
||||
Url = newURL
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -64,12 +64,17 @@ namespace Wabbajack.Lib.Downloaders
|
||||
return DownloadDispatcher.GetInstance<MediaFireDownloader>();
|
||||
}
|
||||
|
||||
public override string GetReportEntry(Archive a)
|
||||
{
|
||||
return $"* [{a.Name} - {Url}]({Url})";
|
||||
}
|
||||
|
||||
public override string[] GetMetaIni()
|
||||
{
|
||||
return new []
|
||||
{
|
||||
"[General]",
|
||||
$"directURL={URL}"
|
||||
$"directURL={Url}"
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -85,7 +90,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
|
||||
return new State
|
||||
{
|
||||
URL = url.ToString()
|
||||
Url = url.ToString()
|
||||
};
|
||||
}
|
||||
}
|
||||
|
@ -24,7 +24,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
{
|
||||
return new State
|
||||
{
|
||||
URL = url
|
||||
Url = url
|
||||
};
|
||||
}
|
||||
|
||||
@ -37,9 +37,8 @@ namespace Wabbajack.Lib.Downloaders
|
||||
|
||||
public class State : AbstractDownloadState
|
||||
{
|
||||
public override string URL { get; set; }
|
||||
|
||||
public override object[] PrimaryKey { get => new object[]{URL}; }
|
||||
public string Url { get; set; }
|
||||
public override object[] PrimaryKey { get => new object[]{Url}; }
|
||||
|
||||
public override bool IsWhitelisted(ServerWhitelist whitelist)
|
||||
{
|
||||
@ -55,7 +54,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
{
|
||||
try
|
||||
{
|
||||
await new HTTPDownloader.State {URL = url}.Download(a, destination);
|
||||
await new HTTPDownloader.State {Url = url}.Download(a, destination);
|
||||
return true;
|
||||
}
|
||||
catch (Exception)
|
||||
@ -70,7 +69,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
|
||||
private async Task<string[]> GetDownloadUrls()
|
||||
{
|
||||
var uri = new Uri(URL);
|
||||
var uri = new Uri(Url);
|
||||
var modId = uri.AbsolutePath.Split('/').Reverse().First(f => int.TryParse(f, out int _));
|
||||
var mirrorUrl = $"https://www.moddb.com/downloads/start/{modId}/all";
|
||||
var doc = await new HtmlWeb().LoadFromWebAsync($"https://www.moddb.com/downloads/start/{modId}/all");
|
||||
@ -106,9 +105,14 @@ namespace Wabbajack.Lib.Downloaders
|
||||
return DownloadDispatcher.GetInstance<ModDBDownloader>();
|
||||
}
|
||||
|
||||
public override string GetReportEntry(Archive a)
|
||||
{
|
||||
return $"* ModDB - [{a.Name}]({Url})";
|
||||
}
|
||||
|
||||
public override string[] GetMetaIni()
|
||||
{
|
||||
return new[] {"[General]", $"directURL={URL}"};
|
||||
return new[] {"[General]", $"directURL={Url}"};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -128,12 +128,6 @@ namespace Wabbajack.Lib.Downloaders
|
||||
public string Summary { get; set; }
|
||||
public bool Adult { get; set; }
|
||||
|
||||
public override string URL
|
||||
{
|
||||
get => NexusURL;
|
||||
set => NexusURL = value;
|
||||
}
|
||||
|
||||
public override object[] PrimaryKey { get => new object[]{GameName, ModID, FileID};}
|
||||
|
||||
public override bool IsWhitelisted(ServerWhitelist whitelist)
|
||||
@ -160,7 +154,7 @@ namespace Wabbajack.Lib.Downloaders
|
||||
|
||||
return await new HTTPDownloader.State
|
||||
{
|
||||
URL = url
|
||||
Url = url
|
||||
}.Download(a, destination);
|
||||
}
|
||||
|
||||
@ -199,6 +193,17 @@ namespace Wabbajack.Lib.Downloaders
|
||||
return DownloadDispatcher.GetInstance<NexusDownloader>();
|
||||
}
|
||||
|
||||
public override string GetReportEntry(Archive a)
|
||||
{
|
||||
var profile = UploaderProfile.Replace("/games/",
|
||||
"/" + NexusApiUtils.ConvertGameName(GameName).ToLower() + "/");
|
||||
|
||||
return string.Join("\n",
|
||||
$"* [{a.Name}](http://nexusmods.com/{NexusApiUtils.ConvertGameName(GameName)}/mods/{ModID})",
|
||||
$" * Author : [{UploadedBy}]({profile})",
|
||||
$" * Version : {Version}");
|
||||
}
|
||||
|
||||
public override string[] GetMetaIni()
|
||||
{
|
||||
return new[] {"[General]", $"gameName={GameName}", $"modID={ModID}", $"fileID={FileID}"};
|
||||
|
@ -41,8 +41,6 @@ namespace Wabbajack.Lib.Downloaders
|
||||
|
||||
public class State : AbstractDownloadState
|
||||
{
|
||||
public override string URL { get; set; }
|
||||
|
||||
public SteamWorkshopItem Item { get; set; }
|
||||
public override object[] PrimaryKey { get => new object[] {Item.Game, Item.ItemID}; }
|
||||
|
||||
@ -94,6 +92,11 @@ namespace Wabbajack.Lib.Downloaders
|
||||
return DownloadDispatcher.GetInstance<SteamWorkshopDownloader>();
|
||||
}
|
||||
|
||||
public override string GetReportEntry(Archive a)
|
||||
{
|
||||
return $"* Steam - [{Item.ItemID}]";
|
||||
}
|
||||
|
||||
public override string[] GetMetaIni()
|
||||
{
|
||||
return new[]
|
||||
|
Loading…
Reference in New Issue
Block a user