aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Providers/Omdb/OmdbProvider.cs
diff options
context:
space:
mode:
authorsoftworkz <softworkz@hotmail.com>2016-06-04 03:08:27 +0200
committersoftworkz <softworkz@hotmail.com>2016-06-04 03:16:44 +0200
commitf7900e77570f87a4a55ff11a087e8a98ae1f5d5d (patch)
tree299abdc0b805e4082da538176f0f4c4f5b7190ac /MediaBrowser.Providers/Omdb/OmdbProvider.cs
parentf601614539559ba943bce0bbd0138d39768b2038 (diff)
OmdbImageProvider: Check poster field of cached item to determine if an image is available
Diffstat (limited to 'MediaBrowser.Providers/Omdb/OmdbProvider.cs')
-rw-r--r--MediaBrowser.Providers/Omdb/OmdbProvider.cs38
1 files changed, 22 insertions, 16 deletions
diff --git a/MediaBrowser.Providers/Omdb/OmdbProvider.cs b/MediaBrowser.Providers/Omdb/OmdbProvider.cs
index 823a29d54e..9873447bec 100644
--- a/MediaBrowser.Providers/Omdb/OmdbProvider.cs
+++ b/MediaBrowser.Providers/Omdb/OmdbProvider.cs
@@ -44,20 +44,7 @@ namespace MediaBrowser.Providers.Omdb
throw new ArgumentNullException("imdbId");
}
- var path = await EnsureItemInfo(imdbId, cancellationToken);
-
- string resultString;
-
- using (Stream stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, 131072))
- {
- using (var reader = new StreamReader(stream, new UTF8Encoding(false)))
- {
- resultString = reader.ReadToEnd();
- resultString = resultString.Replace("\"N/A\"", "\"\"");
- }
- }
-
- var result = _jsonSerializer.DeserializeFromString<RootObject>(resultString);
+ var result = await GetRootObject(imdbId, cancellationToken);
// Only take the name and rating if the user's language is set to english, since Omdb has no localization
if (string.Equals(language, "en", StringComparison.OrdinalIgnoreCase))
@@ -131,7 +118,26 @@ namespace MediaBrowser.Providers.Omdb
ParseAdditionalMetadata(item, result);
}
- internal async Task<string> EnsureItemInfo(string imdbId, CancellationToken cancellationToken)
+ internal async Task<RootObject> GetRootObject(string imdbId, CancellationToken cancellationToken)
+ {
+ var path = await EnsureItemInfo(imdbId, cancellationToken);
+
+ string resultString;
+
+ using (Stream stream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, 131072))
+ {
+ using (var reader = new StreamReader(stream, new UTF8Encoding(false)))
+ {
+ resultString = reader.ReadToEnd();
+ resultString = resultString.Replace("\"N/A\"", "\"\"");
+ }
+ }
+
+ var result = _jsonSerializer.DeserializeFromString<RootObject>(resultString);
+ return result;
+ }
+
+ private async Task<string> EnsureItemInfo(string imdbId, CancellationToken cancellationToken)
{
if (string.IsNullOrWhiteSpace(imdbId))
{
@@ -236,7 +242,7 @@ namespace MediaBrowser.Providers.Omdb
return string.Equals(lang, "en", StringComparison.OrdinalIgnoreCase);
}
- private class RootObject
+ internal class RootObject
{
public string Title { get; set; }
public string Year { get; set; }