mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-04-24 13:57:11 -04:00
New: (Cardigann) XML Parser Suppport
This commit is contained in:
parent
4a8131e00f
commit
701c7d349a
2 changed files with 31 additions and 10 deletions
|
@ -5,6 +5,7 @@ using System.Net;
|
|||
using System.Text.RegularExpressions;
|
||||
using AngleSharp.Dom;
|
||||
using AngleSharp.Html.Parser;
|
||||
using AngleSharp.Xml.Parser;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Extensions;
|
||||
|
@ -159,20 +160,39 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
|||
{
|
||||
try
|
||||
{
|
||||
var searchResultParser = new HtmlParser();
|
||||
var searchResultDocument = searchResultParser.ParseDocument(results);
|
||||
IHtmlCollection<IElement> rowsDom;
|
||||
|
||||
/* checkForError(response, Definition.Search.Error); */
|
||||
|
||||
if (search.Preprocessingfilters != null)
|
||||
if (request.SearchPath.Response != null && request.SearchPath.Response.Type.Equals("xml"))
|
||||
{
|
||||
results = ApplyFilters(results, search.Preprocessingfilters, variables);
|
||||
searchResultDocument = searchResultParser.ParseDocument(results);
|
||||
_logger.Trace(string.Format("CardigannIndexer ({0}): result after preprocessingfilters: {1}", _definition.Id, results));
|
||||
var searchResultParser = new XmlParser();
|
||||
var searchResultDocument = searchResultParser.ParseDocument(results);
|
||||
|
||||
if (search.Preprocessingfilters != null)
|
||||
{
|
||||
results = ApplyFilters(results, search.Preprocessingfilters, variables);
|
||||
searchResultDocument = searchResultParser.ParseDocument(results);
|
||||
_logger.Trace(string.Format("CardigannIndexer ({0}): result after preprocessingfilters: {1}", _definition.Id, results));
|
||||
}
|
||||
|
||||
var rowsSelector = ApplyGoTemplateText(search.Rows.Selector, variables);
|
||||
rowsDom = searchResultDocument.QuerySelectorAll(rowsSelector);
|
||||
}
|
||||
else
|
||||
{
|
||||
var searchResultParser = new HtmlParser();
|
||||
var searchResultDocument = searchResultParser.ParseDocument(results);
|
||||
|
||||
if (search.Preprocessingfilters != null)
|
||||
{
|
||||
results = ApplyFilters(results, search.Preprocessingfilters, variables);
|
||||
searchResultDocument = searchResultParser.ParseDocument(results);
|
||||
_logger.Trace(string.Format("CardigannIndexer ({0}): result after preprocessingfilters: {1}", _definition.Id, results));
|
||||
}
|
||||
|
||||
var rowsSelector = ApplyGoTemplateText(search.Rows.Selector, variables);
|
||||
rowsDom = searchResultDocument.QuerySelectorAll(rowsSelector);
|
||||
}
|
||||
|
||||
var rowsSelector = ApplyGoTemplateText(search.Rows.Selector, variables);
|
||||
var rowsDom = searchResultDocument.QuerySelectorAll(rowsSelector);
|
||||
var rows = new List<IElement>();
|
||||
foreach (var rowDom in rowsDom)
|
||||
{
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
<TargetFrameworks>net5.0</TargetFrameworks>
|
||||
</PropertyGroup>
|
||||
<ItemGroup>
|
||||
<PackageReference Include="AngleSharp.Xml" Version="0.16.0" />
|
||||
<PackageReference Include="Dapper" Version="2.0.90" />
|
||||
<PackageReference Include="FluentMigrator.Runner" Version="3.3.1" />
|
||||
<PackageReference Include="MailKit" Version="2.14.0" />
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue