From d3ca861aea03e2fbb392542a866a48df576fc577 Mon Sep 17 00:00:00 2001 From: Bogdan Date: Fri, 21 Apr 2023 07:36:52 +0300 Subject: [PATCH] Fixed: (AnimeBytes) Remove `The Movie` from search term --- src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs b/src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs index 6229012ed..8a22b6005 100644 --- a/src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs +++ b/src/NzbDrone.Core/Indexers/Definitions/AnimeBytes.cs @@ -141,7 +141,7 @@ private IEnumerable GetRequest(SearchCriteriaBase searchCriteria var searchUrl = $"{_settings.BaseUrl.TrimEnd('/')}/scrape.php"; var term = searchCriteria.SanitizedSearchTerm.Trim(); - var searchTerm = StripEpisodeNumber(term); + var searchTerm = CleanSearchTerm(term); var parameters = new NameValueCollection { @@ -188,12 +188,14 @@ private IEnumerable GetRequest(SearchCriteriaBase searchCriteria yield return request; } - private static string StripEpisodeNumber(string term) + private static string CleanSearchTerm(string term) { // Tracer does not support searching with episode number so strip it if we have one - term = Regex.Replace(term, @"\W(\dx)?\d?\d$", string.Empty); - term = Regex.Replace(term, @"\W(S\d\d?E)?\d?\d$", string.Empty); - term = Regex.Replace(term, @"\W\d+$", string.Empty); + term = Regex.Replace(term, @"\W(\dx)?\d?\d$", string.Empty, RegexOptions.Compiled); + term = Regex.Replace(term, @"\W(S\d\d?E)?\d?\d$", string.Empty, RegexOptions.Compiled); + term = Regex.Replace(term, @"\W\d+$", string.Empty, RegexOptions.Compiled); + + term = Regex.Replace(term.Trim(), @"\bThe Movie$", string.Empty, RegexOptions.Compiled | RegexOptions.IgnoreCase); return term.Trim(); }