diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-24 11:29:23 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-11-24 11:29:23 -0500 |
| commit | 9606a2a710614404b4dda96cceff688314a1ec89 (patch) | |
| tree | 024ecd23b21be91f752c73ed7a6278e922c6276b /MediaBrowser.WebDashboard | |
| parent | 8bc4d49c8967f850d0b76ee8896bbc8ce3e50424 (diff) | |
filter duplicate recordings based on showId
Diffstat (limited to 'MediaBrowser.WebDashboard')
| -rw-r--r-- | MediaBrowser.WebDashboard/Api/DashboardService.cs | 16 | ||||
| -rw-r--r-- | MediaBrowser.WebDashboard/Api/PackageCreator.cs | 32 |
2 files changed, 19 insertions, 29 deletions
diff --git a/MediaBrowser.WebDashboard/Api/DashboardService.cs b/MediaBrowser.WebDashboard/Api/DashboardService.cs index ebd11ca9a6..7fcfbfb131 100644 --- a/MediaBrowser.WebDashboard/Api/DashboardService.cs +++ b/MediaBrowser.WebDashboard/Api/DashboardService.cs @@ -113,6 +113,7 @@ namespace MediaBrowser.WebDashboard.Api private readonly ILocalizationManager _localization; private readonly IJsonSerializer _jsonSerializer; private readonly IAssemblyInfo _assemblyInfo; + private readonly IMemoryStreamFactory _memoryStreamFactory; /// <summary> /// Initializes a new instance of the <see cref="DashboardService" /> class. @@ -120,7 +121,7 @@ namespace MediaBrowser.WebDashboard.Api /// <param name="appHost">The app host.</param> /// <param name="serverConfigurationManager">The server configuration manager.</param> /// <param name="fileSystem">The file system.</param> - public DashboardService(IServerApplicationHost appHost, IServerConfigurationManager serverConfigurationManager, IFileSystem fileSystem, ILocalizationManager localization, IJsonSerializer jsonSerializer, IAssemblyInfo assemblyInfo, ILogger logger, IHttpResultFactory resultFactory) + public DashboardService(IServerApplicationHost appHost, IServerConfigurationManager serverConfigurationManager, IFileSystem fileSystem, ILocalizationManager localization, IJsonSerializer jsonSerializer, IAssemblyInfo assemblyInfo, ILogger logger, IHttpResultFactory resultFactory, IMemoryStreamFactory memoryStreamFactory) { _appHost = appHost; _serverConfigurationManager = serverConfigurationManager; @@ -130,6 +131,7 @@ namespace MediaBrowser.WebDashboard.Api _assemblyInfo = assemblyInfo; _logger = logger; _resultFactory = resultFactory; + _memoryStreamFactory = memoryStreamFactory; } /// <summary> @@ -161,7 +163,7 @@ namespace MediaBrowser.WebDashboard.Api if (plugin != null && stream != null) { - return _resultFactory.GetStaticResult(Request, plugin.Version.ToString().GetMD5(), null, null, MimeTypes.GetMimeType("page.html"), () => GetPackageCreator().ModifyHtml("dummy.html", stream, null, _appHost.ApplicationVersion.ToString(), null, false)); + return _resultFactory.GetStaticResult(Request, plugin.Version.ToString().GetMD5(), null, null, MimeTypes.GetMimeType("page.html"), () => GetPackageCreator().ModifyHtml("dummy.html", stream, null, _appHost.ApplicationVersion.ToString(), null)); } throw new ResourceNotFoundException(); @@ -294,7 +296,7 @@ namespace MediaBrowser.WebDashboard.Api cacheDuration = TimeSpan.FromDays(365); } - var cacheKey = (_appHost.ApplicationVersion.ToString() + (localizationCulture ?? string.Empty) + path).GetMD5(); + var cacheKey = (_appHost.ApplicationVersion + (localizationCulture ?? string.Empty) + path).GetMD5(); return await _resultFactory.GetStaticResult(Request, cacheKey, null, cacheDuration, contentType, () => GetResourceStream(path, localizationCulture)).ConfigureAwait(false); } @@ -312,15 +314,13 @@ namespace MediaBrowser.WebDashboard.Api /// <returns>Task{Stream}.</returns> private Task<Stream> GetResourceStream(string path, string localizationCulture) { - var minify = _serverConfigurationManager.Configuration.EnableDashboardResourceMinification; - return GetPackageCreator() - .GetResource(path, null, localizationCulture, _appHost.ApplicationVersion.ToString(), minify); + .GetResource(path, null, localizationCulture, _appHost.ApplicationVersion.ToString()); } private PackageCreator GetPackageCreator() { - return new PackageCreator(_fileSystem, _localization, _logger, _serverConfigurationManager, _jsonSerializer); + return new PackageCreator(_fileSystem, _logger, _serverConfigurationManager, _memoryStreamFactory); } private List<string> GetDeployIgnoreExtensions() @@ -507,7 +507,7 @@ namespace MediaBrowser.WebDashboard.Api private async Task DumpFile(string resourceVirtualPath, string destinationFilePath, string mode, string culture, string appVersion) { - using (var stream = await GetPackageCreator().GetResource(resourceVirtualPath, mode, culture, appVersion, false).ConfigureAwait(false)) + using (var stream = await GetPackageCreator().GetResource(resourceVirtualPath, mode, culture, appVersion).ConfigureAwait(false)) { using (var fs = _fileSystem.GetFileStream(destinationFilePath, FileOpenMode.Create, FileAccessMode.Write, FileShareMode.Read)) { diff --git a/MediaBrowser.WebDashboard/Api/PackageCreator.cs b/MediaBrowser.WebDashboard/Api/PackageCreator.cs index 260352c7ea..f2df019769 100644 --- a/MediaBrowser.WebDashboard/Api/PackageCreator.cs +++ b/MediaBrowser.WebDashboard/Api/PackageCreator.cs @@ -16,32 +16,28 @@ namespace MediaBrowser.WebDashboard.Api public class PackageCreator { private readonly IFileSystem _fileSystem; - private readonly ILocalizationManager _localization; private readonly ILogger _logger; private readonly IServerConfigurationManager _config; - private readonly IJsonSerializer _jsonSerializer; + private readonly IMemoryStreamFactory _memoryStreamFactory; - public PackageCreator(IFileSystem fileSystem, ILocalizationManager localization, ILogger logger, IServerConfigurationManager config, IJsonSerializer jsonSerializer) + public PackageCreator(IFileSystem fileSystem, ILogger logger, IServerConfigurationManager config, IMemoryStreamFactory memoryStreamFactory) { _fileSystem = fileSystem; - _localization = localization; _logger = logger; _config = config; - _jsonSerializer = jsonSerializer; + _memoryStreamFactory = memoryStreamFactory; } public async Task<Stream> GetResource(string path, string mode, string localizationCulture, - string appVersion, - bool enableMinification) + string appVersion) { Stream resourceStream; if (path.Equals("css/all.css", StringComparison.OrdinalIgnoreCase)) { - resourceStream = await GetAllCss(enableMinification).ConfigureAwait(false); - enableMinification = false; + resourceStream = await GetAllCss().ConfigureAwait(false); } else { @@ -56,7 +52,7 @@ namespace MediaBrowser.WebDashboard.Api { if (IsCoreHtml(path)) { - resourceStream = await ModifyHtml(path, resourceStream, mode, appVersion, localizationCulture, enableMinification).ConfigureAwait(false); + resourceStream = await ModifyHtml(path, resourceStream, mode, appVersion, localizationCulture).ConfigureAwait(false); } } } @@ -140,20 +136,14 @@ namespace MediaBrowser.WebDashboard.Api /// <summary> /// Modifies the HTML by adding common meta tags, css and js. /// </summary> - /// <param name="path">The path.</param> - /// <param name="sourceStream">The source stream.</param> - /// <param name="mode">The mode.</param> - /// <param name="appVersion">The application version.</param> - /// <param name="localizationCulture">The localization culture.</param> - /// <param name="enableMinification">if set to <c>true</c> [enable minification].</param> /// <returns>Task{Stream}.</returns> - public async Task<Stream> ModifyHtml(string path, Stream sourceStream, string mode, string appVersion, string localizationCulture, bool enableMinification) + public async Task<Stream> ModifyHtml(string path, Stream sourceStream, string mode, string appVersion, string localizationCulture) { using (sourceStream) { string html; - using (var memoryStream = new MemoryStream()) + using (var memoryStream = _memoryStreamFactory.CreateNew()) { await sourceStream.CopyToAsync(memoryStream).ConfigureAwait(false); @@ -202,7 +192,7 @@ namespace MediaBrowser.WebDashboard.Api var bytes = Encoding.UTF8.GetBytes(html); - return new MemoryStream(bytes); + return _memoryStreamFactory.CreateNew(bytes); } } @@ -332,9 +322,9 @@ namespace MediaBrowser.WebDashboard.Api /// Gets all CSS. /// </summary> /// <returns>Task{Stream}.</returns> - private async Task<Stream> GetAllCss(bool enableMinification) + private async Task<Stream> GetAllCss() { - var memoryStream = new MemoryStream(); + var memoryStream = _memoryStreamFactory.CreateNew(); var files = new[] { |
