From 74f0d8bdbe22b28822711bd701a4c33853724cb8 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 25 Dec 2013 22:44:26 -0500 Subject: [PATCH] minor dashboard cleanup --- MediaBrowser.Api/LibraryService.cs | 37 ++++++++++++++++++- MediaBrowser.Common/Net/MimeTypes.cs | 5 +++ .../Roku/RokuSessionController.cs | 2 +- .../Api/DashboardService.cs | 3 +- .../MediaBrowser.WebDashboard.csproj | 10 ++++- 5 files changed, 52 insertions(+), 5 deletions(-) diff --git a/MediaBrowser.Api/LibraryService.cs b/MediaBrowser.Api/LibraryService.cs index 7dc8301fe..d9442b63d 100644 --- a/MediaBrowser.Api/LibraryService.cs +++ b/MediaBrowser.Api/LibraryService.cs @@ -1,4 +1,5 @@ -using MediaBrowser.Controller.Dto; +using MediaBrowser.Common.Extensions; +using MediaBrowser.Controller.Dto; using MediaBrowser.Controller.Entities; using MediaBrowser.Controller.Entities.Audio; using MediaBrowser.Controller.Entities.Movies; @@ -32,6 +33,21 @@ namespace MediaBrowser.Api public string Id { get; set; } } + [Route("/Videos/{Id}/Subtitle/{Index}", "GET")] + [Api(Description = "Gets an external subtitle file")] + public class GetSubtitle + { + /// + /// Gets or sets the id. + /// + /// The id. + [ApiMember(Name = "Id", Description = "Item Id", IsRequired = true, DataType = "string", ParameterType = "path", Verb = "GET")] + public string Id { get; set; } + + [ApiMember(Name = "Index", Description = "The subtitle stream index", IsRequired = true, DataType = "int", ParameterType = "path", Verb = "GET")] + public int Index { get; set; } + } + /// /// Class GetCriticReviews /// @@ -240,6 +256,25 @@ namespace MediaBrowser.Api return ToStaticFileResult(item.Path); } + public object Get(GetSubtitle request) + { + var subtitleStream = _itemRepo.GetMediaStreams(new MediaStreamQuery + { + + Index = request.Index, + ItemId = new Guid(request.Id), + Type = MediaStreamType.Subtitle + + }).FirstOrDefault(); + + if (subtitleStream == null) + { + throw new ResourceNotFoundException(); + } + + return ToStaticFileResult(subtitleStream.Path); + } + /// /// Gets the specified request. /// diff --git a/MediaBrowser.Common/Net/MimeTypes.cs b/MediaBrowser.Common/Net/MimeTypes.cs index c11ff59d5..47536a341 100644 --- a/MediaBrowser.Common/Net/MimeTypes.cs +++ b/MediaBrowser.Common/Net/MimeTypes.cs @@ -218,6 +218,11 @@ namespace MediaBrowser.Common.Net return "image/svg+xml"; } + if (ext.Equals(".srt", StringComparison.OrdinalIgnoreCase)) + { + return "text/plain"; + } + throw new ArgumentException("Argument not supported: " + path); } } diff --git a/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs b/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs index ffe33d763..b9e8b7950 100644 --- a/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs +++ b/MediaBrowser.Server.Implementations/Roku/RokuSessionController.cs @@ -139,7 +139,7 @@ namespace MediaBrowser.Server.Implementations.Roku return _httpClient.Post(new HttpRequestOptions { - Url = "mb/remotecontrol", + Url = "http://" + Session.RemoteEndPoint + "/mb/remotecontrol", CancellationToken = cancellationToken, RequestContent = json, RequestContentType = "application/json" diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs index 20284cb3d..e68abd23e 100644 --- a/MediaBrowser.WebDashboard/Api/DashboardService.cs +++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs @@ -474,7 +474,8 @@ namespace MediaBrowser.WebDashboard.Api "advancedconfigurationpage.js", "advancedmetadataconfigurationpage.js", "boxsets.js", - "clientsettings.js", + "appsplayback.js", + "appsweather.js", "dashboardpage.js", "directorybrowser.js", "edititemmetadata.js", diff --git a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj index 5beaa133c..d441abfeb 100644 --- a/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj +++ b/MediaBrowser.WebDashboard/MediaBrowser.WebDashboard.csproj @@ -85,6 +85,9 @@ + + PreserveNewest + PreserveNewest @@ -406,6 +409,9 @@ PreserveNewest + + PreserveNewest + PreserveNewest @@ -1415,7 +1421,7 @@ - + PreserveNewest @@ -1486,7 +1492,7 @@ - + PreserveNewest