update tv data fetch

This commit is contained in:
Luke Pulverenti 2015-10-25 14:34:31 -04:00
parent c99d6c8997
commit 5e8f745963
3 changed files with 27 additions and 15 deletions

View File

@ -64,7 +64,7 @@ namespace MediaBrowser.Server.Implementations.Connect
using (var stream = await _httpClient.Get(new HttpRequestOptions using (var stream = await _httpClient.Get(new HttpRequestOptions
{ {
Url = ipLookupUrl, Url = ipLookupUrl,
UserAgent = "Emby Server/" + _appHost.ApplicationVersion, UserAgent = "Emby/" + _appHost.ApplicationVersion,
LogErrors = logErrors LogErrors = logErrors
}).ConfigureAwait(false)) }).ConfigureAwait(false))
@ -73,7 +73,7 @@ namespace MediaBrowser.Server.Implementations.Connect
{ {
var address = await reader.ReadToEndAsync().ConfigureAwait(false); var address = await reader.ReadToEndAsync().ConfigureAwait(false);
if (IsValid(address)) if (IsValid(address, ipLookupUrl))
{ {
((ConnectManager)_connectManager).OnWanAddressResolved(address); ((ConnectManager)_connectManager).OnWanAddressResolved(address);
CacheAddress(address); CacheAddress(address);
@ -122,7 +122,7 @@ namespace MediaBrowser.Server.Implementations.Connect
{ {
var endpoint = _fileSystem.ReadAllText(path, Encoding.UTF8); var endpoint = _fileSystem.ReadAllText(path, Encoding.UTF8);
if (IsValid(endpoint)) if (IsValid(endpoint, "cache"))
{ {
((ConnectManager)_connectManager).OnWanAddressResolved(endpoint); ((ConnectManager)_connectManager).OnWanAddressResolved(endpoint);
} }
@ -137,14 +137,14 @@ namespace MediaBrowser.Server.Implementations.Connect
} }
} }
private bool IsValid(string address) private bool IsValid(string address, string source)
{ {
IPAddress ipAddress; IPAddress ipAddress;
var valid = IPAddress.TryParse(address, out ipAddress); var valid = IPAddress.TryParse(address, out ipAddress);
if (!valid) if (!valid)
{ {
_logger.Error("{0} is not a valid ip address", address); _logger.Error("{0} is not a valid ip address. Source: {1}", address, source);
} }
return valid; return valid;

View File

@ -429,6 +429,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv.EmbyTV
{ {
return await GetProgramsAsyncInternal(channelId, startDateUtc, endDateUtc, cancellationToken).ConfigureAwait(false); return await GetProgramsAsyncInternal(channelId, startDateUtc, endDateUtc, cancellationToken).ConfigureAwait(false);
} }
catch (OperationCanceledException)
{
throw;
}
catch (Exception ex) catch (Exception ex)
{ {
_logger.ErrorException("Error getting programs", ex); _logger.ErrorException("Error getting programs", ex);

View File

@ -156,10 +156,13 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
// schedule.programID + " which says it has images? " + // schedule.programID + " which says it has images? " +
// programDict[schedule.programID].hasImageArtwork); // programDict[schedule.programID].hasImageArtwork);
var imageIndex = images.FindIndex(i => i.programID == schedule.programID.Substring(0, 10)); if (images != null)
if (imageIndex > -1)
{ {
programDict[schedule.programID].images = GetProgramLogo(ApiUrl, images[imageIndex]); var imageIndex = images.FindIndex(i => i.programID == schedule.programID.Substring(0, 10));
if (imageIndex > -1)
{
programDict[schedule.programID].images = GetProgramLogo(ApiUrl, images[imageIndex]);
}
} }
programsInfo.Add(GetProgram(channelNumber, schedule, programDict[schedule.programID])); programsInfo.Add(GetProgram(channelNumber, schedule, programDict[schedule.programID]));
@ -410,7 +413,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
private string GetProgramLogo(string apiUrl, ScheduleDirect.ShowImages images) private string GetProgramLogo(string apiUrl, ScheduleDirect.ShowImages images)
{ {
string url = ""; string url = null;
if (images.data != null) if (images.data != null)
{ {
var smallImages = images.data.Where(i => i.size == "Sm").ToList(); var smallImages = images.data.Where(i => i.size == "Sm").ToList();
@ -423,13 +426,18 @@ namespace MediaBrowser.Server.Implementations.LiveTv.Listings
{ {
logoIndex = 0; logoIndex = 0;
} }
if (images.data[logoIndex].uri.Contains("http")) var uri = images.data[logoIndex].uri;
if (!string.IsNullOrWhiteSpace(uri))
{ {
url = images.data[logoIndex].uri; if (uri.IndexOf("http", StringComparison.OrdinalIgnoreCase) != -1)
} {
else url = uri;
{ }
url = apiUrl + "/image/" + images.data[logoIndex].uri; else
{
url = apiUrl + "/image/" + uri;
}
} }
//_logger.Debug("URL for image is : " + url); //_logger.Debug("URL for image is : " + url);
} }