mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2026-04-24 22:55:21 -04:00
Secret Dev Settings Page
This commit is contained in:
@@ -22,7 +22,8 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
|
||||
public override IIndexerRequestGenerator GetRequestGenerator()
|
||||
{
|
||||
return new CardigannRequestGenerator(_definitionService.GetDefinition(Settings.DefinitionFile),
|
||||
return new CardigannRequestGenerator(_configService,
|
||||
_definitionService.GetDefinition(Settings.DefinitionFile),
|
||||
Settings,
|
||||
_logger)
|
||||
{
|
||||
@@ -32,7 +33,8 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
|
||||
public override IParseIndexerResponse GetParser()
|
||||
{
|
||||
return new CardigannParser(_definitionService.GetDefinition(Settings.DefinitionFile),
|
||||
return new CardigannParser(_configService,
|
||||
_definitionService.GetDefinition(Settings.DefinitionFile),
|
||||
Settings,
|
||||
_logger);
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Common.Serializer;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Parser;
|
||||
|
||||
namespace NzbDrone.Core.Indexers.Cardigann
|
||||
@@ -20,6 +21,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
protected readonly CardigannSettings _settings;
|
||||
protected readonly Logger _logger;
|
||||
protected readonly Encoding _encoding;
|
||||
protected readonly IConfigService _configService;
|
||||
|
||||
protected string SiteLink { get; private set; }
|
||||
|
||||
@@ -46,10 +48,12 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
protected static readonly Regex _LogicFunctionRegex = new Regex(
|
||||
$@"\b({string.Join("|", _SupportedLogicFunctions.Select(Regex.Escape))})(?:\s+(\(?\.[^\)\s]+\)?|""[^""]+"")){{2,}}");
|
||||
|
||||
public CardigannBase(CardigannDefinition definition,
|
||||
public CardigannBase(IConfigService configService,
|
||||
CardigannDefinition definition,
|
||||
CardigannSettings settings,
|
||||
Logger logger)
|
||||
{
|
||||
_configService = configService;
|
||||
_definition = definition;
|
||||
_settings = settings;
|
||||
_encoding = Encoding.GetEncoding(definition.Encoding);
|
||||
@@ -206,6 +210,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
|
||||
protected Dictionary<string, object> GetBaseTemplateVariables()
|
||||
{
|
||||
var indexerLogging = _configService.LogIndexerResponse;
|
||||
var variables = new Dictionary<string, object>
|
||||
{
|
||||
[".Config.sitelink"] = SiteLink,
|
||||
@@ -221,7 +226,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
var name = ".Config." + setting.Name;
|
||||
var value = _settings.ExtraFieldData.GetValueOrDefault(setting.Name, setting.Default);
|
||||
|
||||
if (setting.Type != "password")
|
||||
if (setting.Type != "password" && indexerLogging)
|
||||
{
|
||||
_logger.Trace($"{name} got value {value.ToJson()}");
|
||||
}
|
||||
@@ -236,11 +241,18 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
}
|
||||
else if (setting.Type == "select")
|
||||
{
|
||||
_logger.Trace($"Setting options: {setting.Options.ToJson()}");
|
||||
if (indexerLogging)
|
||||
{
|
||||
_logger.Trace($"Setting options: {setting.Options.ToJson()}");
|
||||
}
|
||||
|
||||
var sorted = setting.Options.OrderBy(x => x.Key).ToList();
|
||||
var selected = sorted[(int)(long)value];
|
||||
|
||||
_logger.Debug($"Selected option: {selected.ToJson()}");
|
||||
if (indexerLogging)
|
||||
{
|
||||
_logger.Debug($"Selected option: {selected.ToJson()}");
|
||||
}
|
||||
|
||||
variables[name] = selected.Key;
|
||||
}
|
||||
@@ -253,7 +265,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
if (setting.Type != "password")
|
||||
if (setting.Type != "password" && indexerLogging)
|
||||
{
|
||||
_logger.Debug($"Setting {setting.Name} to {variables[name]}");
|
||||
}
|
||||
@@ -514,7 +526,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
var all = variablesRegExMatches.Groups[0].Value;
|
||||
var variable = variablesRegExMatches.Groups[1].Value;
|
||||
|
||||
var value = (string)variables[variable];
|
||||
var value = variables[variable].ToString();
|
||||
if (modifier != null)
|
||||
{
|
||||
value = modifier(value);
|
||||
|
||||
@@ -7,6 +7,7 @@ using AngleSharp.Dom;
|
||||
using AngleSharp.Html.Parser;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Indexers.Exceptions;
|
||||
using NzbDrone.Core.Parser;
|
||||
using NzbDrone.Core.Parser.Model;
|
||||
@@ -17,10 +18,11 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
{
|
||||
public Action<IDictionary<string, string>, DateTime?> CookiesUpdater { get; set; }
|
||||
|
||||
public CardigannParser(CardigannDefinition definition,
|
||||
public CardigannParser(IConfigService configService,
|
||||
CardigannDefinition definition,
|
||||
CardigannSettings settings,
|
||||
Logger logger)
|
||||
: base(definition, settings, logger)
|
||||
: base(configService, definition, settings, logger)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -61,7 +63,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
{
|
||||
results = ApplyFilters(results, search.Preprocessingfilters, variables);
|
||||
searchResultDocument = searchResultParser.ParseDocument(results);
|
||||
_logger.Debug(string.Format("CardigannIndexer ({0}): result after preprocessingfilters: {1}", _definition.Id, results));
|
||||
_logger.Trace(string.Format("CardigannIndexer ({0}): result after preprocessingfilters: {1}", _definition.Id, results));
|
||||
}
|
||||
|
||||
var rowsSelector = ApplyGoTemplateText(search.Rows.Selector, variables);
|
||||
@@ -101,6 +103,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
try
|
||||
{
|
||||
var release = new CardigannReleaseInfo();
|
||||
var indexerLogging = _configService.LogIndexerResponse;
|
||||
|
||||
// Parse fields
|
||||
foreach (var field in search.Fields)
|
||||
@@ -334,8 +337,10 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
continue;
|
||||
}
|
||||
|
||||
//Parser errors usually happen on every result and are costly to performance, trace only
|
||||
_logger.Trace("Error while parsing field={0}, selector={1}, value={2}: {3}", field.Key, field.Value.Selector, value == null ? "<null>" : value, ex.Message);
|
||||
if (indexerLogging)
|
||||
{
|
||||
_logger.Trace("Error while parsing field={0}, selector={1}, value={2}: {3}", field.Key, field.Value.Selector, value == null ? "<null>" : value, ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@ using AngleSharp.Html.Parser;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using NLog;
|
||||
using NzbDrone.Common.Http;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Indexers.Definitions.Cardigann;
|
||||
using NzbDrone.Core.IndexerSearch.Definitions;
|
||||
using NzbDrone.Core.Parser;
|
||||
@@ -21,10 +22,11 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
protected HttpResponse landingResult;
|
||||
protected IHtmlDocument landingResultDocument;
|
||||
|
||||
public CardigannRequestGenerator(CardigannDefinition definition,
|
||||
public CardigannRequestGenerator(IConfigService configService,
|
||||
CardigannDefinition definition,
|
||||
CardigannSettings settings,
|
||||
Logger logger)
|
||||
: base(definition, settings, logger)
|
||||
: base(configService, definition, settings, logger)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user