diff --git a/src/Jackett/Controllers/AdminController.cs b/src/Jackett/Controllers/AdminController.cs index 254f855c7..b0097fbdf 100644 --- a/src/Jackett/Controllers/AdminController.cs +++ b/src/Jackett/Controllers/AdminController.cs @@ -99,7 +99,7 @@ namespace Jackett.Controllers foreach (var indexer in indexerService.GetAllIndexers()) { var item = new JObject(); - item["id"] = indexer.GetType().Name; + item["id"] = indexer.ID; item["name"] = indexer.DisplayName; item["description"] = indexer.DisplayDescription; item["configured"] = indexer.IsConfigured; diff --git a/src/Jackett/Indexers/BaseIndexer.cs b/src/Jackett/Indexers/BaseIndexer.cs index 106633a91..0e7e4170a 100644 --- a/src/Jackett/Indexers/BaseIndexer.cs +++ b/src/Jackett/Indexers/BaseIndexer.cs @@ -7,6 +7,7 @@ using Jackett.Models; using Newtonsoft.Json.Linq; using NLog; using Jackett.Services; +using Jackett.Utils; namespace Jackett.Indexers { @@ -14,6 +15,7 @@ namespace Jackett.Indexers { public string DisplayDescription { get; private set; } public string DisplayName { get; private set; } + public string ID { get { return StringUtil.StripNonAlphaNumeric(GetType().Name.ToLowerInvariant()); } } public bool IsConfigured { get; protected set; } public Uri SiteLink { get; private set; } public bool RequiresRageIDLookupDisabled { get; private set; } diff --git a/src/Jackett/Indexers/IIndexer.cs b/src/Jackett/Indexers/IIndexer.cs index ab5e1840a..ea2844b3e 100644 --- a/src/Jackett/Indexers/IIndexer.cs +++ b/src/Jackett/Indexers/IIndexer.cs @@ -13,6 +13,8 @@ namespace Jackett.Indexers { string DisplayName { get; } string DisplayDescription { get; } + string ID { get; } + Uri SiteLink { get; } bool RequiresRageIDLookupDisabled { get; } diff --git a/src/Jackett/Services/IndexerManagerService.cs b/src/Jackett/Services/IndexerManagerService.cs index 1a358073a..8f2f8ff74 100644 --- a/src/Jackett/Services/IndexerManagerService.cs +++ b/src/Jackett/Services/IndexerManagerService.cs @@ -41,7 +41,7 @@ namespace Jackett.Services { foreach (var idx in container.Resolve>().OrderBy(_ => _.DisplayName)) { - indexers.Add(idx.DisplayName, idx); + indexers.Add(idx.ID, idx); var configFilePath = GetIndexerConfigFilePath(idx); if (File.Exists(configFilePath)) { @@ -90,7 +90,7 @@ namespace Jackett.Services private string GetIndexerConfigFilePath(IIndexer indexer) { - return Path.Combine(configService.GetIndexerConfigDir(), indexer.GetType().Name.ToLower() + ".json"); + return Path.Combine(configService.GetIndexerConfigDir(), indexer.ID + ".json"); } public void SaveConfig(IIndexer indexer, JToken obj) diff --git a/src/Jackett/Utils/StringUtil.cs b/src/Jackett/Utils/StringUtil.cs index c6fa12e55..6a40ca5f9 100644 --- a/src/Jackett/Utils/StringUtil.cs +++ b/src/Jackett/Utils/StringUtil.cs @@ -16,5 +16,10 @@ namespace Jackett.Utils return str; } + public static string FromBase64(string str) + { + return Encoding.UTF8.GetString(Convert.FromBase64String(str)); + } + } }