From 7b4e6f97d5806d075dcc34bfdd8493d9cd91e6be Mon Sep 17 00:00:00 2001 From: zone117x Date: Mon, 13 Apr 2015 08:25:41 -0600 Subject: [PATCH] Dynamic indexer type list --- src/Jackett/ConfigurationData.cs | 2 +- src/Jackett/DataUrl.cs | 30 +++++++++++ src/Jackett/IndexerInterface.cs | 6 +++ src/Jackett/IndexerManager.cs | 50 ++++++------------ src/Jackett/Indexers/BitMeTV.cs | 5 +- src/Jackett/Indexers/Freshon.cs | 15 ++++++ src/Jackett/Jackett.csproj | 12 +++-- src/Jackett/Server.cs | 4 +- .../WebContent/IndexerImages/bitmetv.jpg | Bin 0 -> 56798 bytes .../{HtmlContent => WebContent}/common.js | 0 .../{HtmlContent => WebContent}/index.html | 0 .../jquery-2.1.3.min.js | 0 .../setup_indexer.html | 0 13 files changed, 82 insertions(+), 42 deletions(-) create mode 100644 src/Jackett/DataUrl.cs create mode 100644 src/Jackett/WebContent/IndexerImages/bitmetv.jpg rename src/Jackett/{HtmlContent => WebContent}/common.js (100%) rename src/Jackett/{HtmlContent => WebContent}/index.html (100%) rename src/Jackett/{HtmlContent => WebContent}/jquery-2.1.3.min.js (100%) rename src/Jackett/{HtmlContent => WebContent}/setup_indexer.html (100%) diff --git a/src/Jackett/ConfigurationData.cs b/src/Jackett/ConfigurationData.cs index 060619635..00a9b8801 100644 --- a/src/Jackett/ConfigurationData.cs +++ b/src/Jackett/ConfigurationData.cs @@ -57,7 +57,7 @@ namespace Jackett jObject["value"] = ((BoolItem)item).Value; break; case ItemType.DisplayImage: - string dataUri = "data:image/jpeg;base64," + Convert.ToBase64String(((ImageItem)item).Value); + string dataUri = DataUrl.BytesToDataUrl(((ImageItem)item).Value, "image/jpeg"); jObject["value"] = dataUri; break; } diff --git a/src/Jackett/DataUrl.cs b/src/Jackett/DataUrl.cs new file mode 100644 index 000000000..53022463d --- /dev/null +++ b/src/Jackett/DataUrl.cs @@ -0,0 +1,30 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Jackett +{ + public class DataUrl + { + static Dictionary ImageMimeTypes = new Dictionary{ + { ".jpg", "data:image/jpeg" }, + { ".jpeg", "data:image/jpeg" }, + { ".png", "data:image/png" }, + { ".gif", "data:image/gif" } + }; + + public static string ReadFileToDataUrl(string file) + { + string mime = ImageMimeTypes[Path.GetExtension(file)]; + return "data:" + mime + ";base64," + Convert.ToBase64String(File.ReadAllBytes(file)); + } + + public static string BytesToDataUrl(byte[] bytes, string mimeType = "image/jpg") + { + return "data:" + mimeType + ";base64," + Convert.ToBase64String(bytes); + } + } +} diff --git a/src/Jackett/IndexerInterface.cs b/src/Jackett/IndexerInterface.cs index 288a10fad..2ee106302 100644 --- a/src/Jackett/IndexerInterface.cs +++ b/src/Jackett/IndexerInterface.cs @@ -4,11 +4,17 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Web.UI.WebControls; namespace Jackett { public interface IndexerInterface { + string DisplayName { get; } + string DisplayDescription { get; } + Uri SitLink { get; } + + // Retrieved for starting setup for the indexer via web API Task GetConfigurationForSetup(); diff --git a/src/Jackett/IndexerManager.cs b/src/Jackett/IndexerManager.cs index 5b253db9c..3928c686f 100644 --- a/src/Jackett/IndexerManager.cs +++ b/src/Jackett/IndexerManager.cs @@ -13,58 +13,40 @@ namespace Jackett static string AppConfigDirectory = Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData); static string IndexerConfigDirectory = Path.Combine(AppConfigDirectory, "Indexers"); - - enum IndexerName - { - BitMeTV, - Freshon, - IPTorrents, - BaconBits, - } - Dictionary loadedIndexers; + Dictionary implementedIndexerTypes; + public IndexerManager() { loadedIndexers = new Dictionary(); + + implementedIndexerTypes = (AppDomain.CurrentDomain.GetAssemblies() + .SelectMany(s => s.GetTypes()) + .Where(p => typeof(IndexerInterface).IsAssignableFrom(p))) + .ToDictionary(t => t.Name.ToLower()); + + + // TODO: initialize all indexers at start, read all saved config json files then fill their indexers } IndexerInterface LoadIndexer(string name) { - IndexerInterface newIndexer; + name = name.Trim().ToLower(); - IndexerName indexerName; + Type indexerType; + if (!implementedIndexerTypes.TryGetValue(name, out indexerType)) + throw new Exception(string.Format("No indexer of type '{0}'", name)); - try - { - indexerName = (IndexerName)Enum.Parse(typeof(IndexerName), name, true); - } - catch (Exception) - { - throw new ArgumentException(string.Format("Unsupported indexer '{0}'", name)); - } + IndexerInterface newIndexer = (IndexerInterface)Activator.CreateInstance(indexerType); - switch (indexerName) - { - case IndexerName.BitMeTV: - newIndexer = new BitMeTV(); - break; - case IndexerName.Freshon: - newIndexer = new Freshon(); - break; - default: - throw new ArgumentException(string.Format("Unsupported indexer '{0}'", name)); - } - - - var configFilePath = Path.Combine(IndexerConfigDirectory, indexerName.ToString().ToLower()); + var configFilePath = Path.Combine(IndexerConfigDirectory, name.ToString().ToLower()); if (File.Exists(configFilePath)) { string jsonString = File.ReadAllText(configFilePath); newIndexer.LoadFromSavedConfiguration(jsonString); } - //newIndexer.VerifyConnection(); loadedIndexers.Add(name, newIndexer); return newIndexer; } diff --git a/src/Jackett/Indexers/BitMeTV.cs b/src/Jackett/Indexers/BitMeTV.cs index 6ff8f4465..a66fd0e9e 100644 --- a/src/Jackett/Indexers/BitMeTV.cs +++ b/src/Jackett/Indexers/BitMeTV.cs @@ -58,8 +58,11 @@ namespace Jackett client = new HttpClient(handler); } - public bool IsConfigured { get; private set; } + public string DisplayName { get { return "BitMeTV.org"; } } + public string DisplayDescription { get { return "TV Episode specialty tracker"; } } + public Uri SitLink { get { return new Uri("https://bitmetv.org"); } } + public bool IsConfigured { get; private set; } public Task GetConfigurationForSetup() { diff --git a/src/Jackett/Indexers/Freshon.cs b/src/Jackett/Indexers/Freshon.cs index 93ade0605..913d31046 100644 --- a/src/Jackett/Indexers/Freshon.cs +++ b/src/Jackett/Indexers/Freshon.cs @@ -4,12 +4,16 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Web.UI.WebControls; namespace Jackett { public class Freshon : IndexerInterface { + public string DisplayName { get; private set; } + + public Task GetConfigurationForSetup() { throw new NotImplementedException(); @@ -36,5 +40,16 @@ namespace Jackett { throw new NotImplementedException(); } + + + public string DisplayDescription + { + get { throw new NotImplementedException(); } + } + + public Uri SitLink + { + get { throw new NotImplementedException(); } + } } } diff --git a/src/Jackett/Jackett.csproj b/src/Jackett/Jackett.csproj index 80769f846..71cfcd85d 100644 --- a/src/Jackett/Jackett.csproj +++ b/src/Jackett/Jackett.csproj @@ -68,6 +68,7 @@ + @@ -99,16 +100,19 @@ - + Always - + Always - + Always - + + Always + + Always diff --git a/src/Jackett/Server.cs b/src/Jackett/Server.cs index 75a241c73..42e41cc42 100644 --- a/src/Jackett/Server.cs +++ b/src/Jackett/Server.cs @@ -15,7 +15,7 @@ namespace Jackett HttpListener listener; IndexerManager indexerManager; - static string[] StaticFiles = Directory.EnumerateFiles("HtmlContent", "*", SearchOption.AllDirectories).Select(Path.GetFileName).ToArray(); + static string[] StaticFiles = Directory.EnumerateFiles("WebContent", "*", SearchOption.AllDirectories).Select(Path.GetFileName).ToArray(); enum WebApiMethod { @@ -59,7 +59,7 @@ namespace Jackett async void ServeStaticFile(HttpListenerContext context, string file) { - var contentFile = File.ReadAllBytes(Path.Combine("HtmlContent", file)); + var contentFile = File.ReadAllBytes(Path.Combine("WebContent", file)); string contentType; MimeMapping.TryGetValue(Path.GetExtension(file), out contentType); diff --git a/src/Jackett/WebContent/IndexerImages/bitmetv.jpg b/src/Jackett/WebContent/IndexerImages/bitmetv.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d88202b029e7d6ae9d017297165c583f34681d7c GIT binary patch literal 56798 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

qrr`C1{{<#?lJo_ZYOJz5s``6Bszph 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 literal 0 HcmV?d00001 diff --git a/src/Jackett/HtmlContent/common.js b/src/Jackett/WebContent/common.js similarity index 100% rename from src/Jackett/HtmlContent/common.js rename to src/Jackett/WebContent/common.js diff --git a/src/Jackett/HtmlContent/index.html b/src/Jackett/WebContent/index.html similarity index 100% rename from src/Jackett/HtmlContent/index.html rename to src/Jackett/WebContent/index.html diff --git a/src/Jackett/HtmlContent/jquery-2.1.3.min.js b/src/Jackett/WebContent/jquery-2.1.3.min.js similarity index 100% rename from src/Jackett/HtmlContent/jquery-2.1.3.min.js rename to src/Jackett/WebContent/jquery-2.1.3.min.js diff --git a/src/Jackett/HtmlContent/setup_indexer.html b/src/Jackett/WebContent/setup_indexer.html similarity index 100% rename from src/Jackett/HtmlContent/setup_indexer.html rename to src/Jackett/WebContent/setup_indexer.html