add more live tv buttons

This commit is contained in:
Luke Pulverenti
2015-08-24 23:13:04 -04:00
parent 41fc1f87f5
commit 8046a51418
5 changed files with 64 additions and 31 deletions

View File

@@ -251,13 +251,14 @@ namespace MediaBrowser.Server.Implementations.LiveTv
var now = DateTime.UtcNow;
var programs = _libraryManager.QueryItems(new InternalItemsQuery
var programs = query.AddCurrentProgram ? _libraryManager.QueryItems(new InternalItemsQuery
{
IncludeItemTypes = new[] { typeof(LiveTvProgram).Name },
MaxStartDate = now,
MinEndDate = now
MinEndDate = now,
ChannelIds = internalResult.Items.Select(i => i.Id.ToString("N")).ToArray()
}).Items.Cast<LiveTvProgram>().OrderBy(i => i.StartDate).ToList();
}).Items.Cast<LiveTvProgram>().OrderBy(i => i.StartDate).ToList() : new List<LiveTvProgram>();
foreach (var channel in internalResult.Items)
{
@@ -776,7 +777,11 @@ namespace MediaBrowser.Server.Implementations.LiveTv
IsMovie = query.IsMovie,
IsSports = query.IsSports,
IsKids = query.IsKids,
Genres = query.Genres
Genres = query.Genres,
StartIndex = query.StartIndex,
Limit = query.Limit,
SortBy = query.SortBy,
SortOrder = query.SortOrder ?? SortOrder.Ascending
};
var user = string.IsNullOrEmpty(query.UserId) ? null : _userManager.GetUserById(query.UserId);
@@ -802,29 +807,10 @@ namespace MediaBrowser.Server.Implementations.LiveTv
}
}
IEnumerable<LiveTvProgram> programs = _libraryManager.QueryItems(internalQuery).Items.Cast<LiveTvProgram>();
var queryResult = _libraryManager.QueryItems(internalQuery);
programs = _libraryManager.Sort(programs, user, query.SortBy, query.SortOrder ?? SortOrder.Ascending)
.Cast<LiveTvProgram>();
var programList = programs.ToList();
IEnumerable<LiveTvProgram> returnPrograms = programList;
if (query.StartIndex.HasValue)
{
returnPrograms = returnPrograms.Skip(query.StartIndex.Value);
}
if (query.Limit.HasValue)
{
returnPrograms = returnPrograms.Take(query.Limit.Value);
}
var returnArray = returnPrograms
.Select(i =>
{
return _dtoService.GetBaseItemDto(i, options, user);
})
var returnArray = queryResult.Items
.Select(i => _dtoService.GetBaseItemDto(i, options, user))
.ToArray();
await AddRecordingInfo(returnArray, cancellationToken).ConfigureAwait(false);
@@ -832,7 +818,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
var result = new QueryResult<BaseItemDto>
{
Items = returnArray,
TotalRecordCount = programList.Count
TotalRecordCount = queryResult.TotalRecordCount
};
return result;

View File

@@ -108,7 +108,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
public async Task<List<LiveTvTunerInfo>> GetTunerInfos(TunerHostInfo info, CancellationToken cancellationToken)
{
string model = await GetModelInfo(info, cancellationToken).ConfigureAwait(false);
var model = await GetModelInfo(info, cancellationToken).ConfigureAwait(false);
using (var stream = await _httpClient.Get(new HttpRequestOptions()
{
@@ -398,7 +398,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv.TunerHosts.HdHomerun
{
var info = await GetTunerInfos(tuner, cancellationToken).ConfigureAwait(false);
return info.Any(i => i.Status == LiveTvTunerStatus.Available);
return info.Any(i => i.Status == LiveTvTunerStatus.Available || string.Equals(i.ChannelId, channelId, StringComparison.OrdinalIgnoreCase));
}
}
}