Quellcode durchsuchen

MovieDbEpisodeProvider: Implement GetSearchResults to allow usage from auto-organize

softworkz vor 9 Jahren
Ursprung
Commit
c0cf5ea0c9
1 geänderte Dateien mit 29 neuen und 2 gelöschten Zeilen
  1. 29 2
      MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs

+ 29 - 2
MediaBrowser.Providers/TV/TheMovieDb/MovieDbEpisodeProvider.cs

@@ -28,9 +28,36 @@ namespace MediaBrowser.Providers.TV
             : base(httpClient, configurationManager, jsonSerializer, fileSystem, localization, logManager)
         { }
 
-        public Task<IEnumerable<RemoteSearchResult>> GetSearchResults(EpisodeInfo searchInfo, CancellationToken cancellationToken)
+        public async Task<IEnumerable<RemoteSearchResult>> GetSearchResults(EpisodeInfo searchInfo, CancellationToken cancellationToken)
         {
-            return Task.FromResult<IEnumerable<RemoteSearchResult>>(new List<RemoteSearchResult>());
+            var list = new List<RemoteSearchResult>();
+
+            // The search query must either provide an episode number or date
+            if (!searchInfo.IndexNumber.HasValue || !searchInfo.ParentIndexNumber.HasValue)
+            {
+                return list;
+            }
+
+            var metadataResult = await GetMetadata(searchInfo, cancellationToken);
+
+            if (metadataResult.HasMetadata)
+            {
+                var item = metadataResult.Item;
+
+                list.Add(new RemoteSearchResult
+                {
+                    IndexNumber = item.IndexNumber,
+                    Name = item.Name,
+                    ParentIndexNumber = item.ParentIndexNumber,
+                    PremiereDate = item.PremiereDate,
+                    ProductionYear = item.ProductionYear,
+                    ProviderIds = item.ProviderIds,
+                    SearchProviderName = Name,
+                    IndexNumberEnd = item.IndexNumberEnd
+                });
+            }
+
+            return list;
         }
 
         public async Task<MetadataResult<Episode>> GetMetadata(EpisodeInfo info, CancellationToken cancellationToken)