diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-03-18 12:30:50 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2016-03-18 12:30:50 -0400 |
| commit | 5a750be1e3ee83cd46b7ca17742a844b03e55bf6 (patch) | |
| tree | d291ce62ed5f40608e293c336fd06ace6accc497 /MediaBrowser.Server.Implementations | |
| parent | 4863fc5b31462f0c582e5db23125112a4361bd4f (diff) | |
| parent | 641b85ad7b69d9dc5e853b99da51d1a10aefc095 (diff) | |
Merge pull request #1558 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Server.Implementations')
| -rw-r--r-- | MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs | 41 | ||||
| -rw-r--r-- | MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs | 33 |
2 files changed, 50 insertions, 24 deletions
diff --git a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs index 93bfcbbab..c6452d8f5 100644 --- a/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs +++ b/MediaBrowser.Server.Implementations/HttpServer/HttpListenerHost.cs @@ -21,6 +21,7 @@ using System.Threading; using System.Threading.Tasks; using MediaBrowser.Common.Net; using MediaBrowser.Common.Security; +using MediaBrowser.Model.Extensions; namespace MediaBrowser.Server.Implementations.HttpServer { @@ -342,16 +343,26 @@ namespace MediaBrowser.Server.Implementations.HttpServer urlToLog = GetUrlToLog(urlString); LoggerUtils.LogRequest(_logger, urlToLog, httpReq.HttpMethod, httpReq.UserAgent); } - + if (string.Equals(localPath, "/mediabrowser/", StringComparison.OrdinalIgnoreCase) || - string.Equals(localPath, "/emby/", StringComparison.OrdinalIgnoreCase)) + string.Equals(localPath, "/mediabrowser", StringComparison.OrdinalIgnoreCase) || + localPath.IndexOf("mediabrowser/web", StringComparison.OrdinalIgnoreCase) != -1 || + localPath.IndexOf("dashboard/", StringComparison.OrdinalIgnoreCase) != -1) { - httpRes.RedirectToUrl(DefaultRedirectPath); + httpRes.StatusCode = 200; + httpRes.ContentType = "text/html"; + var newUrl = urlString.Replace("mediabrowser", "emby", StringComparison.OrdinalIgnoreCase) + .Replace("/dashboard/", "/web/", StringComparison.OrdinalIgnoreCase); + + httpRes.Write("<!doctype html><html><head><title>Emby</title></head><body>Please update your Emby bookmark to <a href=\"" + newUrl + "\">" + newUrl + "</a></body></html>"); + + httpRes.Close(); return Task.FromResult(true); } - if (string.Equals(localPath, "/mediabrowser", StringComparison.OrdinalIgnoreCase)) + + if (string.Equals(localPath, "/emby/", StringComparison.OrdinalIgnoreCase)) { - httpRes.RedirectToUrl("mediabrowser/" + DefaultRedirectPath); + httpRes.RedirectToUrl(DefaultRedirectPath); return Task.FromResult(true); } if (string.Equals(localPath, "/emby", StringComparison.OrdinalIgnoreCase)) @@ -385,7 +396,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer httpRes.RedirectToUrl("web/pin.html"); return Task.FromResult(true); } - + if (!string.IsNullOrWhiteSpace(GlobalResponse)) { httpRes.StatusCode = 503; @@ -461,6 +472,7 @@ namespace MediaBrowser.Server.Implementations.HttpServer Priority = route.Priority, Summary = route.Summary }); + routes.Add(new RouteAttribute(NormalizeRoutePath(route.Path), route.Verbs) { Notes = route.Notes, @@ -468,13 +480,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer Summary = route.Summary }); - // TODO: This is a hack for iOS. Remove it asap. - routes.Add(new RouteAttribute(DoubleNormalizeRoutePath(route.Path), route.Verbs) - { - Notes = route.Notes, - Priority = route.Priority, - Summary = route.Summary - }); routes.Add(new RouteAttribute(DoubleNormalizeEmbyRoutePath(route.Path), route.Verbs) { Notes = route.Notes, @@ -516,16 +521,6 @@ namespace MediaBrowser.Server.Implementations.HttpServer return "mediabrowser/" + path; } - private string DoubleNormalizeRoutePath(string path) - { - if (path.StartsWith("/", StringComparison.OrdinalIgnoreCase)) - { - return "/mediabrowser/mediabrowser" + path; - } - - return "mediabrowser/mediabrowser/" + path; - } - /// <summary> /// Releases the specified instance. /// </summary> diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index 18a41d82a..56daff78a 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -348,7 +348,12 @@ namespace MediaBrowser.Server.Implementations.Persistence "Genres", "ParentId", "Audio", - "ExternalServiceId" + "ExternalServiceId", + "IsInMixedFolder", + "DateLastSaved", + "LockedFields", + "Studios", + "Tags" }; private readonly string[] _mediaStreamSaveColumns = @@ -1079,6 +1084,31 @@ namespace MediaBrowser.Server.Implementations.Persistence } } + if (!reader.IsDBNull(44)) + { + item.IsInMixedFolder = reader.GetBoolean(44); + } + + if (!reader.IsDBNull(45)) + { + item.DateLastSaved = reader.GetDateTime(45).ToUniversalTime(); + } + + if (!reader.IsDBNull(46)) + { + item.LockedFields = reader.GetString(46).Split('|').Where(i => !string.IsNullOrWhiteSpace(i)).Select(i => (MetadataFields)Enum.Parse(typeof(MetadataFields), i, true)).ToList(); + } + + if (!reader.IsDBNull(47)) + { + item.Studios = reader.GetString(47).Split('|').Where(i => !string.IsNullOrWhiteSpace(i)).ToList(); + } + + if (!reader.IsDBNull(48)) + { + item.Tags = reader.GetString(48).Split('|').Where(i => !string.IsNullOrWhiteSpace(i)).ToList(); + } + return item; } @@ -2013,6 +2043,7 @@ namespace MediaBrowser.Server.Implementations.Persistence typeof(MusicGenre), typeof(MusicVideo), typeof(Movie), + typeof(Trailer), typeof(BoxSet), typeof(Episode), typeof(ChannelVideoItem), |
