From c2add69276c77eb00f492e1d0facbe1635c67e82 Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 19 Jul 2015 11:37:08 -0600 Subject: [PATCH] Fix indexer class lookup by string when name has non-alphanumeric chars --- src/Jackett/Indexers/Freshon.cs | 2 +- src/Jackett/Jackett.csproj | 1 + src/Jackett/Services/IndexerManagerService.cs | 3 ++- src/Jackett/Utils/StringUtil.cs | 20 +++++++++++++++++++ 4 files changed, 24 insertions(+), 2 deletions(-) create mode 100644 src/Jackett/Utils/StringUtil.cs diff --git a/src/Jackett/Indexers/Freshon.cs b/src/Jackett/Indexers/Freshon.cs index 41522d2be..4b62bcff8 100644 --- a/src/Jackett/Indexers/Freshon.cs +++ b/src/Jackett/Indexers/Freshon.cs @@ -17,7 +17,7 @@ using System.Threading.Tasks; using System.Web; using System.Web.UI.WebControls; -namespace Jackett +namespace Jackett.Indexers { public class Freshon : BaseIndexer, IIndexer { diff --git a/src/Jackett/Jackett.csproj b/src/Jackett/Jackett.csproj index e83170226..18be84d2d 100644 --- a/src/Jackett/Jackett.csproj +++ b/src/Jackett/Jackett.csproj @@ -197,6 +197,7 @@ + diff --git a/src/Jackett/Services/IndexerManagerService.cs b/src/Jackett/Services/IndexerManagerService.cs index 55fd7b9aa..0f1aacb87 100644 --- a/src/Jackett/Services/IndexerManagerService.cs +++ b/src/Jackett/Services/IndexerManagerService.cs @@ -1,6 +1,7 @@ using Autofac; using Jackett.Indexers; using Jackett.Models; +using Jackett.Utils; using Newtonsoft.Json.Linq; using NLog; using System; @@ -52,7 +53,7 @@ namespace Jackett.Services public IIndexer GetIndexer(string name) { - var indexer = indexers.Values.Where(i => string.Equals(i.DisplayName, name, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault(); + var indexer = indexers.Values.Where(i => string.Equals(StringUtil.StripNonAlphaNumeric(i.DisplayName), name, StringComparison.InvariantCultureIgnoreCase)).FirstOrDefault(); if (indexer != null) { return indexer; diff --git a/src/Jackett/Utils/StringUtil.cs b/src/Jackett/Utils/StringUtil.cs new file mode 100644 index 000000000..c6fa12e55 --- /dev/null +++ b/src/Jackett/Utils/StringUtil.cs @@ -0,0 +1,20 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.RegularExpressions; +using System.Threading.Tasks; + +namespace Jackett.Utils +{ + public static class StringUtil + { + public static string StripNonAlphaNumeric(string str) + { + Regex rgx = new Regex("[^a-zA-Z0-9 -]"); + str = rgx.Replace(str, ""); + return str; + } + + } +}