diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-01-15 14:16:25 -0500 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2016-01-15 15:26:48 -0500 |
| commit | 8e0ded8d33f79a460c23f26b3284c70b7cdffb7f (patch) | |
| tree | 7e888887a22049760ffae6cee0314da56ff6e29e | |
| parent | b9118de8c36af933bd959d504f62f94605b34da8 (diff) | |
don't use search query when only a single result is needed
| -rw-r--r-- | MediaBrowser.Providers/Omdb/OmdbItemProvider.cs | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs b/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs index efcc76e69..30bd4bed7 100644 --- a/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs +++ b/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs @@ -57,7 +57,12 @@ namespace MediaBrowser.Providers.Omdb return GetSearchResults(searchInfo, "movie", cancellationToken); } - public async Task<IEnumerable<RemoteSearchResult>> GetSearchResults(ItemLookupInfo searchInfo, string type, CancellationToken cancellationToken) + public Task<IEnumerable<RemoteSearchResult>> GetSearchResults(ItemLookupInfo searchInfo, string type, CancellationToken cancellationToken) + { + return GetSearchResultsInternal(searchInfo, type, true, cancellationToken); + } + + private async Task<IEnumerable<RemoteSearchResult>> GetSearchResultsInternal(ItemLookupInfo searchInfo, string type, bool enableMultipleResults, CancellationToken cancellationToken) { bool isSearch = false; @@ -86,7 +91,14 @@ namespace MediaBrowser.Providers.Omdb } // &s means search and returns a list of results as opposed to t - url += "&s=" + WebUtility.UrlEncode(name); + if (enableMultipleResults) + { + url += "&s=" + WebUtility.UrlEncode(name); + } + else + { + url += "&t=" + WebUtility.UrlEncode(name); + } url += "&type=" + type; isSearch = true; } @@ -239,14 +251,14 @@ namespace MediaBrowser.Providers.Omdb private async Task<string> GetMovieImdbId(ItemLookupInfo info, CancellationToken cancellationToken) { - var results = await GetSearchResults(info, "movie", cancellationToken).ConfigureAwait(false); + var results = await GetSearchResultsInternal(info, "movie", false, cancellationToken).ConfigureAwait(false); var first = results.FirstOrDefault(); return first == null ? null : first.GetProviderId(MetadataProviders.Imdb); } private async Task<string> GetSeriesImdbId(SeriesInfo info, CancellationToken cancellationToken) { - var results = await GetSearchResults(info, cancellationToken).ConfigureAwait(false); + var results = await GetSearchResultsInternal(info, "series", false, cancellationToken).ConfigureAwait(false); var first = results.FirstOrDefault(); return first == null ? null : first.GetProviderId(MetadataProviders.Imdb); } |
