mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Fixed NullException for AuthedClient
This commit is contained in:
parent
95217035c9
commit
2d27f398cc
@ -139,5 +139,7 @@ namespace Wabbajack.Common
|
|||||||
public static RelativePath ModOrganizer2Exe = (RelativePath)"ModOrganizer.exe";
|
public static RelativePath ModOrganizer2Exe = (RelativePath)"ModOrganizer.exe";
|
||||||
public static RelativePath ModOrganizer2Ini = (RelativePath)"ModOrganizer.ini";
|
public static RelativePath ModOrganizer2Ini = (RelativePath)"ModOrganizer.ini";
|
||||||
public static string AuthorAPIKeyFile = "author-api-key.txt";
|
public static string AuthorAPIKeyFile = "author-api-key.txt";
|
||||||
|
|
||||||
|
public static Uri WabbajackOrg = new Uri("https://www.wabbajack.org/");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -106,7 +106,7 @@ namespace Wabbajack.Lib
|
|||||||
{
|
{
|
||||||
if (a.State is IMetaState metaState)
|
if (a.State is IMetaState metaState)
|
||||||
{
|
{
|
||||||
if (metaState.URL == null)
|
if (metaState.URL == null || metaState.URL == Consts.WabbajackOrg)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
var b = await metaState.LoadMetaData();
|
var b = await metaState.LoadMetaData();
|
||||||
@ -231,6 +231,8 @@ namespace Wabbajack.Lib
|
|||||||
result.Meta = archive.Meta;
|
result.Meta = archive.Meta;
|
||||||
result.Size = archive.File.Size;
|
result.Size = archive.File.Size;
|
||||||
|
|
||||||
|
await result.State!.GetDownloader().Prepare();
|
||||||
|
|
||||||
if (result.State != null && !await result.State.Verify(result))
|
if (result.State != null && !await result.State.Verify(result))
|
||||||
Error(
|
Error(
|
||||||
$"Unable to resolve link for {archive.Name}. If this is hosted on the Nexus the file may have been removed.");
|
$"Unable to resolve link for {archive.Name}. If this is hosted on the Nexus the file may have been removed.");
|
||||||
|
@ -82,7 +82,7 @@ namespace Wabbajack.Lib.Downloaders
|
|||||||
public string FileName { get; set; } = string.Empty;
|
public string FileName { get; set; } = string.Empty;
|
||||||
|
|
||||||
// from IMetaState
|
// from IMetaState
|
||||||
public Uri URL => new Uri($"{Site}/files/file/{FileName}");
|
public Uri URL => IsAttachment ? new Uri("https://www.wabbajack.org/") : new Uri($"{Site}/files/file/{FileName}");
|
||||||
public string? Name { get; set; }
|
public string? Name { get; set; }
|
||||||
public string? Author { get; set; }
|
public string? Author { get; set; }
|
||||||
public string? Version { get; set; }
|
public string? Version { get; set; }
|
||||||
|
@ -78,6 +78,7 @@ namespace Wabbajack.Lib.Downloaders
|
|||||||
.SelectNodes(
|
.SelectNodes(
|
||||||
"//article[@class='ipsColumn ipsColumn_fluid']/div[@class='ipsPad']/section/div[@class='ipsType_richText ipsContained ipsType_break']/p/a/img[@class='ipsImage ipsImage_thumbnailed']")
|
"//article[@class='ipsColumn ipsColumn_fluid']/div[@class='ipsPad']/section/div[@class='ipsType_richText ipsContained ipsType_break']/p/a/img[@class='ipsImage ipsImage_thumbnailed']")
|
||||||
?.First().GetAttributeValue("src", ""));
|
?.First().GetAttributeValue("src", ""));
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(url))
|
if (!string.IsNullOrWhiteSpace(url))
|
||||||
{
|
{
|
||||||
ImageURL = new Uri(url);
|
ImageURL = new Uri(url);
|
||||||
|
@ -1,4 +1,8 @@
|
|||||||
using System;
|
using System;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Web;
|
||||||
|
using HtmlAgilityPack;
|
||||||
using Wabbajack.Common.Serialization.Json;
|
using Wabbajack.Common.Serialization.Json;
|
||||||
|
|
||||||
namespace Wabbajack.Lib.Downloaders
|
namespace Wabbajack.Lib.Downloaders
|
||||||
@ -16,9 +20,53 @@ namespace Wabbajack.Lib.Downloaders
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
[JsonName("VectorPlexisDownloader")]
|
[JsonName("VectorPlexusDownloader")]
|
||||||
public class State : State<VectorPlexusDownloader>
|
public class State : State<VectorPlexusDownloader>
|
||||||
{
|
{
|
||||||
|
public override async Task<bool> LoadMetaData()
|
||||||
|
{
|
||||||
|
var html = await Downloader.AuthedClient.GetStringAsync(URL);
|
||||||
|
var doc = new HtmlDocument();
|
||||||
|
doc.LoadHtml(html);
|
||||||
|
var node = doc.DocumentNode;
|
||||||
|
|
||||||
|
Name = HttpUtility.HtmlDecode(node
|
||||||
|
.SelectNodes(
|
||||||
|
"//h1[@class='ipsType_pageTitle ipsContained_container']/span[@class='ipsType_break ipsContained']")
|
||||||
|
?.First().InnerHtml);
|
||||||
|
|
||||||
|
Author = HttpUtility.HtmlDecode(node
|
||||||
|
.SelectNodes(
|
||||||
|
"//div[@class='ipsBox_alt']/div[@class='ipsPhotoPanel ipsPhotoPanel_tiny ipsClearfix ipsSpacer_bottom']/div/p[@class='ipsType_reset ipsType_large ipsType_blendLinks']/a")
|
||||||
|
?.First().InnerHtml);
|
||||||
|
|
||||||
|
Version = HttpUtility.HtmlDecode(node
|
||||||
|
.SelectNodes("//section/h2[@class='ipsType_sectionHead']/span[@data-role='versionTitle']")
|
||||||
|
?
|
||||||
|
.First().InnerHtml);
|
||||||
|
|
||||||
|
var url = HttpUtility.HtmlDecode(node
|
||||||
|
.SelectNodes(
|
||||||
|
"//div[@class='ipsBox ipsSpacer_top ipsSpacer_double']/section/div[@class='ipsPad ipsAreaBackground']/div[@class='ipsCarousel ipsClearfix']/div[@class='ipsCarousel_inner']/ul[@class='cDownloadsCarousel ipsClearfix']/li[@class='ipsCarousel_item ipsAreaBackground_reset ipsPad_half']/span[@class='ipsThumb ipsThumb_medium ipsThumb_bg ipsCursor_pointer']")
|
||||||
|
?.First().GetAttributeValue("data-fullurl", "none"));
|
||||||
|
|
||||||
|
if (!string.IsNullOrWhiteSpace(url))
|
||||||
|
{
|
||||||
|
ImageURL = new Uri(url);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
url = HttpUtility.HtmlDecode(node
|
||||||
|
.SelectNodes(
|
||||||
|
"//article[@class='ipsColumn ipsColumn_fluid']/div[@class='ipsPad']/section/div[@class='ipsType_richText ipsContained ipsType_break']/p/a/img[@class='ipsImage ipsImage_thumbnailed']")
|
||||||
|
?.First().GetAttributeValue("src", ""));
|
||||||
|
if (!string.IsNullOrWhiteSpace(url))
|
||||||
|
{
|
||||||
|
ImageURL = new Uri(url);
|
||||||
|
}
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user