mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
Fixed: (Cardigann) Parse text templates only if necessary
This commit is contained in:
@@ -349,11 +349,13 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
|
||||
public string ApplyGoTemplateText(string template, Dictionary<string, object> variables = null, TemplateTextModifier modifier = null)
|
||||
{
|
||||
if (variables == null)
|
||||
if (template.IsNullOrWhiteSpace() || !template.Contains("{{"))
|
||||
{
|
||||
variables = GetBaseTemplateVariables();
|
||||
return template;
|
||||
}
|
||||
|
||||
variables ??= GetBaseTemplateVariables();
|
||||
|
||||
// handle re_replace expression
|
||||
// Example: {{ re_replace .Query.Keywords "[^a-zA-Z0-9]+" "%" }}
|
||||
var reReplaceRegex = new Regex(@"{{\s*re_replace\s+(\..+?)\s+""(.*?)""\s+""(.*?)""\s*}}");
|
||||
|
@@ -164,8 +164,6 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
try
|
||||
{
|
||||
IHtmlCollection<IElement> rowsDom;
|
||||
|
||||
@@ -351,12 +349,6 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
// OnParseError(results, ex);
|
||||
throw;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
if (query.Limit > 0)
|
||||
@@ -425,11 +417,7 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
break;
|
||||
case "comments":
|
||||
var commentsUrl = ResolvePath(value, searchUrlUri);
|
||||
if (release.CommentUrl == null)
|
||||
{
|
||||
release.CommentUrl = commentsUrl.AbsoluteUri;
|
||||
}
|
||||
|
||||
release.CommentUrl ??= commentsUrl.AbsoluteUri;
|
||||
value = commentsUrl.ToString();
|
||||
break;
|
||||
case "title":
|
||||
@@ -554,38 +542,38 @@ namespace NzbDrone.Core.Indexers.Cardigann
|
||||
value = release.ImdbId.ToString();
|
||||
break;
|
||||
case "tmdbid":
|
||||
var tmdbIDRegEx = new Regex(@"(\d+)", RegexOptions.Compiled);
|
||||
var tmdbIDMatch = tmdbIDRegEx.Match(value);
|
||||
var tmdbID = tmdbIDMatch.Groups[1].Value;
|
||||
release.TmdbId = (int)ParseUtil.CoerceLong(tmdbID);
|
||||
var tmdbIdRegex = new Regex(@"(\d+)", RegexOptions.Compiled);
|
||||
var tmdbIdMatch = tmdbIdRegex.Match(value);
|
||||
var tmdbId = tmdbIdMatch.Groups[1].Value;
|
||||
release.TmdbId = (int)ParseUtil.CoerceLong(tmdbId);
|
||||
value = release.TmdbId.ToString();
|
||||
break;
|
||||
case "rageid":
|
||||
var rageIDRegEx = new Regex(@"(\d+)", RegexOptions.Compiled);
|
||||
var rageIDMatch = rageIDRegEx.Match(value);
|
||||
var rageID = rageIDMatch.Groups[1].Value;
|
||||
release.TvRageId = (int)ParseUtil.CoerceLong(rageID);
|
||||
var rageIdRegex = new Regex(@"(\d+)", RegexOptions.Compiled);
|
||||
var rageIdMatch = rageIdRegex.Match(value);
|
||||
var rageId = rageIdMatch.Groups[1].Value;
|
||||
release.TvRageId = (int)ParseUtil.CoerceLong(rageId);
|
||||
value = release.TvRageId.ToString();
|
||||
break;
|
||||
case "traktid":
|
||||
var traktIDRegEx = new Regex(@"(\d+)", RegexOptions.Compiled);
|
||||
var traktIDMatch = traktIDRegEx.Match(value);
|
||||
var traktID = traktIDMatch.Groups[1].Value;
|
||||
release.TraktId = (int)ParseUtil.CoerceLong(traktID);
|
||||
var traktIdRegex = new Regex(@"(\d+)", RegexOptions.Compiled);
|
||||
var traktIdMatch = traktIdRegex.Match(value);
|
||||
var traktId = traktIdMatch.Groups[1].Value;
|
||||
release.TraktId = (int)ParseUtil.CoerceLong(traktId);
|
||||
value = release.TraktId.ToString();
|
||||
break;
|
||||
case "tvdbid":
|
||||
var tvdbIdRegEx = new Regex(@"(\d+)", RegexOptions.Compiled);
|
||||
var tvdbIdMatch = tvdbIdRegEx.Match(value);
|
||||
var tvdbIdRegex = new Regex(@"(\d+)", RegexOptions.Compiled);
|
||||
var tvdbIdMatch = tvdbIdRegex.Match(value);
|
||||
var tvdbId = tvdbIdMatch.Groups[1].Value;
|
||||
release.TvdbId = (int)ParseUtil.CoerceLong(tvdbId);
|
||||
value = release.TvdbId.ToString();
|
||||
break;
|
||||
case "doubanid":
|
||||
var doubanIDRegEx = new Regex(@"(\d+)", RegexOptions.Compiled);
|
||||
var doubanIDMatch = doubanIDRegEx.Match(value);
|
||||
var doubanID = doubanIDMatch.Groups[1].Value;
|
||||
release.DoubanId = (int)ParseUtil.CoerceLong(doubanID);
|
||||
var doubanIdRegex = new Regex(@"(\d+)", RegexOptions.Compiled);
|
||||
var doubanIdMatch = doubanIdRegex.Match(value);
|
||||
var doubanId = doubanIdMatch.Groups[1].Value;
|
||||
release.DoubanId = (int)ParseUtil.CoerceLong(doubanId);
|
||||
value = release.DoubanId.ToString();
|
||||
break;
|
||||
case "poster":
|
||||
|
Reference in New Issue
Block a user