Explorar o código

Extend minimum local metadata requirements

Shadowghost hai 1 ano
pai
achega
2a612611b8

+ 21 - 0
MediaBrowser.Providers/Music/AlbumMetadataService.cs

@@ -208,6 +208,27 @@ namespace MediaBrowser.Providers.Music
             return updateType;
         }
 
+        /// <inheritdoc />
+        protected override bool HasBaseMetadata(MusicAlbum item)
+        {
+            if (string.IsNullOrWhiteSpace(item.Album))
+            {
+                return false;
+            }
+
+            if (item.AlbumArtists.Count == 0 && item.Artists.Count == 0)
+            {
+                return false;
+            }
+
+            if (!item.ProductionYear.HasValue)
+            {
+                return false;
+            }
+
+            return base.HasBaseMetadata(item);
+        }
+
         /// <inheritdoc />
         protected override void MergeData(
             MetadataResult<MusicAlbum> source,

+ 21 - 0
MediaBrowser.Providers/Music/AudioMetadataService.cs

@@ -49,6 +49,27 @@ namespace MediaBrowser.Providers.Music
             }
         }
 
+        /// <inheritdoc />
+        protected override bool HasBaseMetadata(Audio item)
+        {
+            if (item.IndexNumber is null)
+            {
+                return false;
+            }
+
+            if (string.IsNullOrEmpty(item.Album))
+            {
+                return false;
+            }
+
+            if (item.AlbumArtists.Count == 0 && item.Artists.Count == 0)
+            {
+                return false;
+            }
+
+            return base.HasBaseMetadata(item);
+        }
+
         /// <inheritdoc />
         protected override void MergeData(MetadataResult<Audio> source, MetadataResult<Audio> target, MetadataField[] lockedFields, bool replaceData, bool mergeMetadataSettings)
         {

+ 16 - 0
MediaBrowser.Providers/TV/EpisodeMetadataService.cs

@@ -67,6 +67,22 @@ namespace MediaBrowser.Providers.TV
             return updatedType;
         }
 
+        /// <inheritdoc />
+        protected override bool HasBaseMetadata(Episode item)
+        {
+            if (string.IsNullOrWhiteSpace(item.Overview))
+            {
+                return false;
+            }
+
+            if (item.IndexNumber is null)
+            {
+                return false;
+            }
+
+            return base.HasBaseMetadata(item);
+        }
+
         /// <inheritdoc />
         protected override void MergeData(MetadataResult<Episode> source, MetadataResult<Episode> target, MetadataField[] lockedFields, bool replaceData, bool mergeMetadataSettings)
         {

+ 16 - 0
MediaBrowser.Providers/TV/SeasonMetadataService.cs

@@ -99,5 +99,21 @@ namespace MediaBrowser.Providers.TV
 
             return ItemUpdateType.None;
         }
+
+        /// <inheritdoc />
+        protected override bool HasBaseMetadata(Season item)
+        {
+            if (string.IsNullOrWhiteSpace(item.Overview))
+            {
+                return false;
+            }
+
+            if (item.IndexNumber is null)
+            {
+                return false;
+            }
+
+            return base.HasBaseMetadata(item);
+        }
     }
 }