diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-07-24 10:54:34 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-07-24 10:54:34 -0400 |
| commit | 84af205572e6ab9ca3e10f6de33cbce278e01335 (patch) | |
| tree | 0cb89ab3a9d3ff67f85894096e592a959c3ff9b0 /MediaBrowser.Api/HttpHandlers | |
| parent | 6c7175e33d258ff2e65735f68cb05f110a8d2306 (diff) | |
Added new api handlers to get plugin information
Diffstat (limited to 'MediaBrowser.Api/HttpHandlers')
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/MediaHandler.cs | 101 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs | 19 | ||||
| -rw-r--r-- | MediaBrowser.Api/HttpHandlers/PluginsHandler.cs | 37 |
3 files changed, 56 insertions, 101 deletions
diff --git a/MediaBrowser.Api/HttpHandlers/MediaHandler.cs b/MediaBrowser.Api/HttpHandlers/MediaHandler.cs deleted file mode 100644 index 73f8de7d82..0000000000 --- a/MediaBrowser.Api/HttpHandlers/MediaHandler.cs +++ /dev/null @@ -1,101 +0,0 @@ -using System;
-using System.IO;
-using MediaBrowser.Common.Net.Handlers;
-using MediaBrowser.Model.Entities;
-
-namespace MediaBrowser.Api.HttpHandlers
-{
- class MediaHandler : BaseHandler
- {
- private string _MediaPath = string.Empty;
- private string MediaPath
- {
- get
- {
- if (string.IsNullOrEmpty(_MediaPath))
- {
- _MediaPath = GetMediaPath();
- }
-
- return _MediaPath;
- }
- }
-
- private string GetMediaPath()
- {
- string path = QueryString["path"] ?? string.Empty;
-
- if (!string.IsNullOrEmpty(path))
- {
- return path;
- }
-
- BaseItem item = ApiService.GetItemById(QueryString["id"]);
-
- return item.Path;
- }
-
- public override bool GzipResponse
- {
- get
- {
- return false;
- }
- }
-
- public override string ContentType
- {
- get
- {
- // http://www.codingcereal.com/2011/10/an-array-of-45-video-mime-types/
-
- string extension = Path.GetExtension(MediaPath);
-
- if (extension.EndsWith("mkv", StringComparison.OrdinalIgnoreCase))
- {
- return "video/x-matroska";
- }
- else if (extension.EndsWith("avi", StringComparison.OrdinalIgnoreCase))
- {
- return "video/avi";
- }
- else if (extension.EndsWith("wmv", StringComparison.OrdinalIgnoreCase))
- {
- return "video/wmv";
- }
- else if (extension.EndsWith("m4v", StringComparison.OrdinalIgnoreCase))
- {
- return "video/m4v";
- }
- else if (extension.EndsWith("flv", StringComparison.OrdinalIgnoreCase))
- {
- return "video/flv";
- }
- else if (extension.EndsWith("mov", StringComparison.OrdinalIgnoreCase))
- {
- return "video/quicktime";
- }
- else if (extension.EndsWith("mp4", StringComparison.OrdinalIgnoreCase))
- {
- return "video/mp4";
- }
-
- return "video/x-matroska";
- }
- }
-
- protected override void WriteResponseToOutputStream(Stream stream)
- {
- try
- {
- using (Stream input = File.OpenRead(MediaPath))
- {
- input.CopyTo(stream);
- }
- }
- catch
- {
- }
- }
- }
-}
diff --git a/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs b/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs new file mode 100644 index 0000000000..9e5657e3c2 --- /dev/null +++ b/MediaBrowser.Api/HttpHandlers/PluginConfigurationHandler.cs @@ -0,0 +1,19 @@ +using System;
+using System.Linq;
+using MediaBrowser.Controller;
+
+namespace MediaBrowser.Api.HttpHandlers
+{
+ public class PluginConfigurationHandler : JsonHandler
+ {
+ protected override object ObjectToSerialize
+ {
+ get
+ {
+ string pluginName = QueryString["name"];
+
+ return Kernel.Instance.PluginController.Plugins.First(p => p.Name.Equals(pluginName, StringComparison.OrdinalIgnoreCase)).Configuration;
+ }
+ }
+ }
+}
diff --git a/MediaBrowser.Api/HttpHandlers/PluginsHandler.cs b/MediaBrowser.Api/HttpHandlers/PluginsHandler.cs new file mode 100644 index 0000000000..a558da163d --- /dev/null +++ b/MediaBrowser.Api/HttpHandlers/PluginsHandler.cs @@ -0,0 +1,37 @@ +using System.Linq;
+using MediaBrowser.Controller;
+using MediaBrowser.Model.Plugins;
+
+namespace MediaBrowser.Api.HttpHandlers
+{
+ /// <summary>
+ /// Provides information about installed plugins
+ /// </summary>
+ public class PluginsHandler : JsonHandler
+ {
+ protected override object ObjectToSerialize
+ {
+ get
+ {
+ var plugins = Kernel.Instance.PluginController.Plugins.Select(p =>
+ {
+ return new PluginInfo()
+ {
+ Path = p.Path,
+ Name = p.Name,
+ Enabled = p.Enabled,
+ DownloadToUI = p.DownloadToUI,
+ Version = p.Version
+ };
+ });
+
+ if (QueryString["uionly"] == "1")
+ {
+ plugins = plugins.Where(p => p.DownloadToUI);
+ }
+
+ return plugins;
+ }
+ }
+ }
+}
|
