aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2016-01-15 14:16:25 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2016-01-15 14:16:25 -0500
commit3743152e0f60c8c0e290633f73d78982a0a4645c (patch)
treeab6d277de06a08912ba76df6b04351e3d3e68b57
parenta3ded01bcea7374559790fa1ba095c9fd2dc3939 (diff)
don't use search query when only a single result is needed
-rw-r--r--MediaBrowser.Providers/Omdb/OmdbItemProvider.cs20
1 files changed, 16 insertions, 4 deletions
diff --git a/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs b/MediaBrowser.Providers/Omdb/OmdbItemProvider.cs
index ea9d14534..ace1a8ffb 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;
var episodeSearchInfo = searchInfo as EpisodeInfo;
@@ -92,7 +97,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;
}
@@ -274,14 +286,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);
}