فهرست منبع

add content type error handling

Luke Pulverenti 8 سال پیش
والد
کامیت
b23bdfe9f2

+ 9 - 1
Emby.Server.Implementations/Data/SqliteItemRepository.cs

@@ -5267,11 +5267,19 @@ namespace Emby.Server.Implementations.Data
             {
                 foreach (var pair in values)
                 {
+                    var itemValue = pair.Item2;
+
+                    // Don't save if invalid
+                    if (string.IsNullOrWhiteSpace(itemValue))
+                    {
+                        continue;
+                    }
+
                     statement.Reset();
 
                     statement.TryBind("@ItemId", itemId.ToGuidParamValue());
                     statement.TryBind("@Type", pair.Item1);
-                    statement.TryBind("@Value", pair.Item2);
+                    statement.TryBind("@Value", itemValue);
 
                     if (pair.Item2 == null)
                     {

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

@@ -3084,7 +3084,11 @@ namespace Emby.Server.Implementations.Library
 
             foreach (var contentType in ConfigurationManager.Configuration.ContentTypes)
             {
-                if (string.Equals(path, contentType.Name, StringComparison.OrdinalIgnoreCase)
+                if (string.IsNullOrWhiteSpace(contentType.Name))
+                {
+                    removeList.Add(contentType);
+                }
+                else if (string.Equals(path, contentType.Name, StringComparison.OrdinalIgnoreCase)
                     || _fileSystem.ContainsSubPath(path, contentType.Name))
                 {
                     removeList.Add(contentType);

+ 1 - 0
MediaBrowser.Api/ItemUpdateService.cs

@@ -99,6 +99,7 @@ namespace MediaBrowser.Api
             var path = item.ContainingFolderPath;
 
             var types = _config.Configuration.ContentTypes
+                .Where(i => !string.IsNullOrWhiteSpace(i.Name))
                 .Where(i => !string.Equals(i.Name, path, StringComparison.OrdinalIgnoreCase))
                 .ToList();