Added abstraction layeer IHtmlLoader. Finished reorganizing test project folder structure.
This commit is contained in:
@@ -1,21 +1,17 @@
|
||||
using HtmlAgilityPack;
|
||||
|
||||
namespace MangaReader.Core.Metadata;
|
||||
namespace MangaReader.Core.Metadata;
|
||||
|
||||
public abstract class MangaWebCrawler : IMangaMetadataProvider
|
||||
{
|
||||
public abstract string SourceId { get; }
|
||||
public abstract Task<SourceManga?> GetMangaAsync(string url, CancellationToken cancellationToken);
|
||||
|
||||
protected virtual async Task<HtmlDocument> GetHtmlDocumentAsync(string url, CancellationToken cancellationToken)
|
||||
{
|
||||
HtmlWeb web = new()
|
||||
{
|
||||
UsingCacheIfExists = false
|
||||
};
|
||||
//protected virtual async Task<HtmlDocument> GetHtmlDocumentAsync(string url, CancellationToken cancellationToken)
|
||||
//{
|
||||
// HtmlWeb web = new()
|
||||
// {
|
||||
// UsingCacheIfExists = false
|
||||
// };
|
||||
|
||||
//return web.Load(url);
|
||||
|
||||
return await web.LoadFromWebAsync(url, cancellationToken);
|
||||
}
|
||||
// return await web.LoadFromWebAsync(url, cancellationToken);
|
||||
//}
|
||||
}
|
||||
@@ -2,8 +2,8 @@
|
||||
|
||||
public class SourceManga
|
||||
{
|
||||
public required string Title { get; set; }
|
||||
public string? Description { get; set; }
|
||||
public required SourceMangaTitle Title { get; set; }
|
||||
public SourceMangaDescription? Description { get; set; }
|
||||
public List<SourceMangaTitle> AlternateTitles { get; set; } = [];
|
||||
public SourceMangaContributor[] Contributors { get; set; } = [];
|
||||
public MangaStatus Status { get; set; } = MangaStatus.Unknown;
|
||||
|
||||
9
MangaReader.Core/Metadata/SourceMangaDescription.cs
Normal file
9
MangaReader.Core/Metadata/SourceMangaDescription.cs
Normal file
@@ -0,0 +1,9 @@
|
||||
using MangaReader.Core.Common;
|
||||
|
||||
namespace MangaReader.Core.Metadata;
|
||||
|
||||
public class SourceMangaDescription
|
||||
{
|
||||
public required string Name { get; set; }
|
||||
public Language Language { get; set; }
|
||||
}
|
||||
@@ -4,6 +4,6 @@ namespace MangaReader.Core.Metadata;
|
||||
|
||||
public class SourceMangaTitle
|
||||
{
|
||||
public required string Title { get; set; }
|
||||
public required string Name { get; set; }
|
||||
public Language Language { get; set; }
|
||||
}
|
||||
Reference in New Issue
Block a user