mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-09 17:28:48 +01:00
add guide optimizations
This commit is contained in:
@@ -951,6 +951,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
||||
|
||||
var queryResult = _libraryManager.QueryItems(internalQuery);
|
||||
|
||||
RemoveFields(options);
|
||||
|
||||
var returnArray = (await _dtoService.GetBaseItemDtos(queryResult.Items, options, user).ConfigureAwait(false)).ToArray();
|
||||
|
||||
var result = new QueryResult<BaseItemDto>
|
||||
@@ -1031,6 +1033,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
||||
|
||||
var user = _userManager.GetUserById(query.UserId);
|
||||
|
||||
RemoveFields(options);
|
||||
|
||||
var returnArray = (await _dtoService.GetBaseItemDtos(internalResult.Items, options, user).ConfigureAwait(false)).ToArray();
|
||||
|
||||
var result = new QueryResult<BaseItemDto>
|
||||
@@ -1662,6 +1666,8 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
||||
|
||||
var internalResult = await GetInternalRecordings(query, cancellationToken).ConfigureAwait(false);
|
||||
|
||||
RemoveFields(options);
|
||||
|
||||
var returnArray = (await _dtoService.GetBaseItemDtos(internalResult.Items, options, user).ConfigureAwait(false)).ToArray();
|
||||
|
||||
return new QueryResult<BaseItemDto>
|
||||
@@ -1922,7 +1928,7 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
||||
|
||||
var channelIds = tuples.Select(i => i.Item2.Id.ToString("N")).Distinct().ToArray();
|
||||
|
||||
var programs = _libraryManager.GetItemList(new InternalItemsQuery(user)
|
||||
var programs = options.AddCurrentProgram ? _libraryManager.GetItemList(new InternalItemsQuery(user)
|
||||
{
|
||||
IncludeItemTypes = new[] { typeof(LiveTvProgram).Name },
|
||||
ChannelIds = channelIds,
|
||||
@@ -1932,7 +1938,9 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
||||
SortBy = new[] { "StartDate" },
|
||||
TopParentIds = new[] { GetInternalLiveTvFolder(CancellationToken.None).Result.Id.ToString("N") }
|
||||
|
||||
}).ToList();
|
||||
}).ToList() : new List<BaseItem>();
|
||||
|
||||
RemoveFields(options);
|
||||
|
||||
foreach (var tuple in tuples)
|
||||
{
|
||||
@@ -1944,14 +1952,20 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
||||
dto.ChannelType = channel.ChannelType;
|
||||
dto.ServiceName = GetService(channel).Name;
|
||||
|
||||
dto.MediaSources = channel.GetMediaSources(true).ToList();
|
||||
if (options.Fields.Contains(ItemFields.MediaSources))
|
||||
{
|
||||
dto.MediaSources = channel.GetMediaSources(true).ToList();
|
||||
}
|
||||
|
||||
var channelIdString = channel.Id.ToString("N");
|
||||
var currentProgram = programs.FirstOrDefault(i => string.Equals(i.ChannelId, channelIdString));
|
||||
|
||||
if (currentProgram != null)
|
||||
if (options.AddCurrentProgram)
|
||||
{
|
||||
dto.CurrentProgram = _dtoService.GetBaseItemDto(currentProgram, options, user);
|
||||
var currentProgram = programs.FirstOrDefault(i => string.Equals(i.ChannelId, channelIdString));
|
||||
|
||||
if (currentProgram != null)
|
||||
{
|
||||
dto.CurrentProgram = _dtoService.GetBaseItemDto(currentProgram, options, user);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -2447,6 +2461,14 @@ namespace MediaBrowser.Server.Implementations.LiveTv
|
||||
return _dtoService.GetBaseItemDto(folder, new DtoOptions(), user);
|
||||
}
|
||||
|
||||
private void RemoveFields(DtoOptions options)
|
||||
{
|
||||
options.Fields.Remove(ItemFields.CanDelete);
|
||||
options.Fields.Remove(ItemFields.CanDownload);
|
||||
options.Fields.Remove(ItemFields.DisplayPreferencesId);
|
||||
options.Fields.Remove(ItemFields.Etag);
|
||||
}
|
||||
|
||||
public async Task<Folder> GetInternalLiveTvFolder(CancellationToken cancellationToken)
|
||||
{
|
||||
var name = _localization.GetLocalizedString("ViewTypeLiveTV");
|
||||
|
||||
Reference in New Issue
Block a user