1
0
Fork 0
mirror of https://github.com/Jackett/Jackett synced 2025-03-09 13:52:03 +00:00

audiobookbay: check if cover image has valid URI

Fixes #14767
This commit is contained in:
Bogdan 2023-10-15 23:20:55 +03:00
parent f440c20108
commit 1d54a9c3be

View file

@ -10,6 +10,7 @@ using System.Threading.Tasks;
using AngleSharp.Dom;
using AngleSharp.Html.Dom;
using AngleSharp.Html.Parser;
using Jackett.Common.Extensions;
using Jackett.Common.Models;
using Jackett.Common.Models.IndexerConfig;
using Jackett.Common.Services.Interfaces;
@ -259,7 +260,7 @@ namespace Jackett.Common.Indexers
var category = matchCategory.Groups[1].Success ? matchCategory.Groups[1].Value.Split(';').Select(c => c.Trim()).ToList() : new List<string>();
var categories = category.SelectMany(MapTrackerCatDescToNewznab).Distinct().ToList();
var release = new ReleaseInfo
releases.Add(new ReleaseInfo
{
Guid = details,
Details = details,
@ -269,21 +270,28 @@ namespace Jackett.Common.Indexers
Size = size,
Seeders = 1,
Peers = 1,
Poster = GetPosterUrl(row.QuerySelector("img[src]")?.GetAttribute("src")?.Trim()),
PublishDate = publishDate,
DownloadVolumeFactor = 0,
UploadVolumeFactor = 1
};
var cover = row.QuerySelector("img[src]")?.GetAttribute("src")?.Trim();
if (!string.IsNullOrEmpty(cover))
release.Poster = cover.StartsWith("http") ? new Uri(cover) : new Uri(SiteLink + cover);
releases.Add(release);
});
}
return releases;
}
private Uri GetPosterUrl(string cover)
{
if (cover.IsNotNullOrWhiteSpace() &&
Uri.TryCreate(cover.StartsWith("http") ? cover : SiteLink + cover, UriKind.Absolute, out var posterUri) &&
(posterUri.Scheme == Uri.UriSchemeHttp || posterUri.Scheme == Uri.UriSchemeHttps))
{
return posterUri;
}
return null;
}
private static IHtmlDocument ParseHtmlDocument(string response)
{
var parser = new HtmlParser();