Browse Source

Merge pull request #2913 from MediaBrowser/dev

Dev
Luke 7 years ago
parent
commit
1443dd1aee

+ 7 - 1
Emby.Server.Implementations/HttpServer/HttpListenerHost.cs

@@ -579,7 +579,13 @@ namespace Emby.Server.Implementations.HttpServer
 
             catch (Exception ex)
             {
-                ErrorHandler(ex, httpReq, !string.Equals(ex.GetType().Name, "SocketException", StringComparison.OrdinalIgnoreCase));
+                var logException = !string.Equals(ex.GetType().Name, "SocketException", StringComparison.OrdinalIgnoreCase);
+
+#if DEBUG
+                logException = true;
+#endif
+
+                ErrorHandler(ex, httpReq, logException);
             }
             finally
             {

+ 2 - 11
Emby.Server.Implementations/HttpServer/HttpResultFactory.cs

@@ -424,16 +424,6 @@ namespace Emby.Server.Implementations.HttpServer
 
             options.ResponseHeaders = options.ResponseHeaders ?? new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
 
-            if (!options.ResponseHeaders.ContainsKey("Content-Disposition"))
-            {
-                // Quotes are valid in linux. They'll possibly cause issues here
-                var filename = (Path.GetFileName(path) ?? string.Empty).Replace("\"", string.Empty);
-                if (!string.IsNullOrWhiteSpace(filename))
-                {
-                    options.ResponseHeaders["Content-Disposition"] = "inline; filename=\"" + filename + "\"";
-                }
-            }
-
             return GetStaticResult(requestContext, options);
         }
 
@@ -490,7 +480,8 @@ namespace Emby.Server.Implementations.HttpServer
                 return result;
             }
 
-            var isHeadRequest = options.IsHeadRequest;
+            // TODO: We don't really need the option value
+            var isHeadRequest = options.IsHeadRequest || string.Equals(requestContext.Verb, "HEAD", StringComparison.OrdinalIgnoreCase);
             var factoryFn = options.ContentFactory;
             var responseHeaders = options.ResponseHeaders;
 

+ 1 - 52
Emby.Server.Implementations/Library/LibraryManager.cs

@@ -247,11 +247,6 @@ namespace Emby.Server.Implementations.Library
             }
         }
 
-        /// <summary>
-        /// The _season zero display name
-        /// </summary>
-        private string _seasonZeroDisplayName;
-
         private bool _wizardCompleted;
         /// <summary>
         /// Records the configuration values.
@@ -259,7 +254,6 @@ namespace Emby.Server.Implementations.Library
         /// <param name="configuration">The configuration.</param>
         private void RecordConfigurationValues(ServerConfiguration configuration)
         {
-            _seasonZeroDisplayName = configuration.SeasonZeroDisplayName;
             _wizardCompleted = configuration.IsStartupWizardCompleted;
         }
 
@@ -272,59 +266,14 @@ namespace Emby.Server.Implementations.Library
         {
             var config = ConfigurationManager.Configuration;
 
-            var newSeasonZeroName = ConfigurationManager.Configuration.SeasonZeroDisplayName;
-            var seasonZeroNameChanged = !string.Equals(_seasonZeroDisplayName, newSeasonZeroName, StringComparison.Ordinal);
             var wizardChanged = config.IsStartupWizardCompleted != _wizardCompleted;
 
             RecordConfigurationValues(config);
 
-            if (seasonZeroNameChanged || wizardChanged)
+            if (wizardChanged)
             {
                 _taskManager.CancelIfRunningAndQueue<RefreshMediaLibraryTask>();
             }
-
-            if (seasonZeroNameChanged)
-            {
-                Task.Run(async () =>
-                {
-                    await UpdateSeasonZeroNames(newSeasonZeroName, CancellationToken.None).ConfigureAwait(false);
-
-                });
-            }
-        }
-
-        /// <summary>
-        /// Updates the season zero names.
-        /// </summary>
-        /// <param name="newName">The new name.</param>
-        /// <param name="cancellationToken">The cancellation token.</param>
-        /// <returns>Task.</returns>
-        private async Task UpdateSeasonZeroNames(string newName, CancellationToken cancellationToken)
-        {
-            var seasons = GetItemList(new InternalItemsQuery
-            {
-                IncludeItemTypes = new[] { typeof(Season).Name },
-                Recursive = true,
-                IndexNumber = 0,
-                DtoOptions = new DtoOptions(true)
-
-            }).Cast<Season>()
-                .Where(i => !string.Equals(i.Name, newName, StringComparison.Ordinal))
-                .ToList();
-
-            foreach (var season in seasons)
-            {
-                season.Name = newName;
-
-                try
-                {
-                    await UpdateItem(season, ItemUpdateType.MetadataDownload, cancellationToken).ConfigureAwait(false);
-                }
-                catch (Exception ex)
-                {
-                    _logger.ErrorException("Error saving {0}", ex, season.Path);
-                }
-            }
         }
 
         public void RegisterItem(BaseItem item)

+ 2 - 2
Emby.Server.Implementations/Library/Resolvers/TV/SeasonResolver.cs

@@ -55,9 +55,9 @@ namespace Emby.Server.Implementations.Library.Resolvers.TV
                 if (season.IndexNumber.HasValue)
                 {
                     var seasonNumber = season.IndexNumber.Value;
-
+                    
                     season.Name = seasonNumber == 0 ?
-                        _config.Configuration.SeasonZeroDisplayName :
+                        args.LibraryOptions.SeasonZeroDisplayName :
                         string.Format(_localization.GetLocalizedString("NameSeasonNumber"), seasonNumber.ToString(UsCulture));
                 }
 

+ 3 - 0
MediaBrowser.Model/Configuration/LibraryOptions.cs

@@ -30,6 +30,8 @@
         /// <value>The metadata country code.</value>
         public string MetadataCountryCode { get; set; }
 
+        public string SeasonZeroDisplayName { get; set; }
+
         public LibraryOptions()
         {
             EnablePhotos = true;
@@ -37,6 +39,7 @@
             PathInfos = new MediaPathInfo[] { };
             EnableInternetProviders = true;
             EnableAutomaticSeriesGrouping = true;
+            SeasonZeroDisplayName = "Specials";
         }
     }
 

+ 0 - 8
MediaBrowser.Model/Configuration/ServerConfiguration.cs

@@ -77,12 +77,6 @@ namespace MediaBrowser.Model.Configuration
         public string MetadataPath { get; set; }
         public string MetadataNetworkPath { get; set; }
 
-        /// <summary>
-        /// Gets or sets the display name of the season zero.
-        /// </summary>
-        /// <value>The display name of the season zero.</value>
-        public string SeasonZeroDisplayName { get; set; }
-
         /// <summary>
         /// Gets or sets the preferred metadata language.
         /// </summary>
@@ -239,8 +233,6 @@ namespace MediaBrowser.Model.Configuration
             SortRemoveCharacters = new[] { ",", "&", "-", "{", "}", "'" };
             SortRemoveWords = new[] { "the", "a", "an" };
 
-            SeasonZeroDisplayName = "Specials";
-
             UICulture = "en-us";
 
             MetadataOptions = new[]

+ 2 - 1
MediaBrowser.Model/Dlna/StreamBuilder.cs

@@ -794,7 +794,8 @@ namespace MediaBrowser.Model.Dlna
 
                         if (applyConditions)
                         {
-                            foreach (var transcodingVideoCodec in ContainerProfile.SplitValue(transcodingProfile.VideoCodec))
+                            var transcodingVideoCodecs = ContainerProfile.SplitValue(transcodingProfile.VideoCodec);
+                            foreach (var transcodingVideoCodec in transcodingVideoCodecs)
                             {
                                 if (i.ContainsCodec(transcodingVideoCodec, transcodingProfile.Container))
                                 {

+ 1 - 1
MediaBrowser.Providers/TV/DummySeasonProvider.cs

@@ -113,7 +113,7 @@ namespace MediaBrowser.Providers.TV
             CancellationToken cancellationToken)
         {
             var seasonName = seasonNumber == 0 ?
-                _config.Configuration.SeasonZeroDisplayName :
+                _libraryManager.GetLibraryOptions(series).SeasonZeroDisplayName :
                 (seasonNumber.HasValue ? string.Format(_localization.GetLocalizedString("NameSeasonNumber"), seasonNumber.Value.ToString(_usCulture)) : _localization.GetLocalizedString("NameSeasonUnknown"));
 
             _logger.Info("Creating Season {0} entry for {1}", seasonName, series.Name);

+ 4 - 4
MediaBrowser.Providers/TV/SeasonMetadataService.cs

@@ -8,9 +8,7 @@ using MediaBrowser.Providers.Manager;
 using System;
 using System.Collections.Generic;
 using System.Linq;
-using System.Threading.Tasks;
 using MediaBrowser.Controller.Entities;
-using MediaBrowser.Controller.IO;
 using MediaBrowser.Model.IO;
 
 namespace MediaBrowser.Providers.TV
@@ -23,9 +21,11 @@ namespace MediaBrowser.Providers.TV
 
             if (item.IndexNumber.HasValue && item.IndexNumber.Value == 0)
             {
-                if (!string.Equals(item.Name, ServerConfigurationManager.Configuration.SeasonZeroDisplayName, StringComparison.OrdinalIgnoreCase))
+                var seasonZeroDisplayName = LibraryManager.GetLibraryOptions(item).SeasonZeroDisplayName;
+
+                if (!string.Equals(item.Name, seasonZeroDisplayName, StringComparison.OrdinalIgnoreCase))
                 {
-                    item.Name = ServerConfigurationManager.Configuration.SeasonZeroDisplayName;
+                    item.Name = seasonZeroDisplayName;
                     updateType = updateType | ItemUpdateType.MetadataEdit;
                 }
             }

+ 1 - 1
SharedVersion.cs

@@ -1,3 +1,3 @@
 using System.Reflection;
 
-[assembly: AssemblyVersion("3.2.32.4")]
+[assembly: AssemblyVersion("3.2.32.5")]