mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-20 17:14:42 +01:00
remove unneeded async signatures
This commit is contained in:
@@ -373,7 +373,7 @@ namespace Emby.Server.Implementations.Channels
|
||||
|
||||
private async Task<Channel> GetChannel(IChannel channelInfo, CancellationToken cancellationToken)
|
||||
{
|
||||
var parentFolder = await GetInternalChannelFolder(cancellationToken).ConfigureAwait(false);
|
||||
var parentFolder = GetInternalChannelFolder(cancellationToken);
|
||||
var parentFolderId = parentFolder.Id;
|
||||
|
||||
var id = GetInternalChannelId(channelInfo.Name);
|
||||
@@ -434,7 +434,7 @@ namespace Emby.Server.Implementations.Channels
|
||||
}
|
||||
else if (forceUpdate)
|
||||
{
|
||||
await item.UpdateToRepository(ItemUpdateType.None, cancellationToken).ConfigureAwait(false);
|
||||
item.UpdateToRepository(ItemUpdateType.None, cancellationToken);
|
||||
}
|
||||
|
||||
await item.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), cancellationToken);
|
||||
@@ -655,14 +655,12 @@ namespace Emby.Server.Implementations.Channels
|
||||
|
||||
// Avoid implicitly captured closure
|
||||
var token = cancellationToken;
|
||||
var itemTasks = items.Select(i =>
|
||||
var internalItems = items.Select(i =>
|
||||
{
|
||||
var channelProvider = i.Item1;
|
||||
var internalChannelId = GetInternalChannelId(channelProvider.Name);
|
||||
return GetChannelItemEntity(i.Item2, channelProvider, internalChannelId, token);
|
||||
});
|
||||
|
||||
var internalItems = await Task.WhenAll(itemTasks).ConfigureAwait(false);
|
||||
}).ToArray();
|
||||
|
||||
internalItems = ApplyFilters(internalItems, query.Filters, user).ToArray();
|
||||
RefreshIfNeeded(internalItems);
|
||||
@@ -802,14 +800,12 @@ namespace Emby.Server.Implementations.Channels
|
||||
|
||||
// Avoid implicitly captured closure
|
||||
var token = cancellationToken;
|
||||
var itemTasks = items.Select(i =>
|
||||
var internalItems = items.Select(i =>
|
||||
{
|
||||
var channelProvider = i.Item1;
|
||||
var internalChannelId = GetInternalChannelId(channelProvider.Name);
|
||||
return GetChannelItemEntity(i.Item2, channelProvider, internalChannelId, token);
|
||||
});
|
||||
|
||||
var internalItems = await Task.WhenAll(itemTasks).ConfigureAwait(false);
|
||||
}).ToArray();
|
||||
|
||||
return new QueryResult<BaseItem>
|
||||
{
|
||||
@@ -955,9 +951,7 @@ namespace Emby.Server.Implementations.Channels
|
||||
|
||||
var providerTotalRecordCount = providerLimit.HasValue ? itemsResult.TotalRecordCount : null;
|
||||
|
||||
var tasks = itemsResult.Items.Select(i => GetChannelItemEntity(i, channelProvider, channel.Id, cancellationToken));
|
||||
|
||||
var internalItems = await Task.WhenAll(tasks).ConfigureAwait(false);
|
||||
var internalItems = itemsResult.Items.Select(i => GetChannelItemEntity(i, channelProvider, channel.Id, cancellationToken)).ToArray();
|
||||
|
||||
if (user != null)
|
||||
{
|
||||
@@ -1234,7 +1228,7 @@ namespace Emby.Server.Implementations.Channels
|
||||
return item;
|
||||
}
|
||||
|
||||
private async Task<BaseItem> GetChannelItemEntity(ChannelItemInfo info, IChannel channelProvider, Guid internalChannelId, CancellationToken cancellationToken)
|
||||
private BaseItem GetChannelItemEntity(ChannelItemInfo info, IChannel channelProvider, Guid internalChannelId, CancellationToken cancellationToken)
|
||||
{
|
||||
BaseItem item;
|
||||
bool isNew;
|
||||
@@ -1399,7 +1393,7 @@ namespace Emby.Server.Implementations.Channels
|
||||
}
|
||||
else if (forceUpdate)
|
||||
{
|
||||
await item.UpdateToRepository(ItemUpdateType.None, cancellationToken).ConfigureAwait(false);
|
||||
item.UpdateToRepository(ItemUpdateType.None, cancellationToken);
|
||||
}
|
||||
|
||||
SaveMediaSources(item, info.MediaSources);
|
||||
@@ -1542,20 +1536,20 @@ namespace Emby.Server.Implementations.Channels
|
||||
return items;
|
||||
}
|
||||
|
||||
public async Task<BaseItemDto> GetChannelFolder(string userId, CancellationToken cancellationToken)
|
||||
public BaseItemDto GetChannelFolder(string userId, CancellationToken cancellationToken)
|
||||
{
|
||||
var user = string.IsNullOrEmpty(userId) ? null : _userManager.GetUserById(userId);
|
||||
|
||||
var folder = await GetInternalChannelFolder(cancellationToken).ConfigureAwait(false);
|
||||
var folder = GetInternalChannelFolder(cancellationToken);
|
||||
|
||||
return _dtoService.GetBaseItemDto(folder, new DtoOptions(), user);
|
||||
}
|
||||
|
||||
public async Task<Folder> GetInternalChannelFolder(CancellationToken cancellationToken)
|
||||
public Folder GetInternalChannelFolder(CancellationToken cancellationToken)
|
||||
{
|
||||
var name = _localization.GetLocalizedString("ViewTypeChannels");
|
||||
|
||||
return await _libraryManager.GetNamedView(name, "channels", "zz_" + name, cancellationToken).ConfigureAwait(false);
|
||||
return _libraryManager.GetNamedView(name, "channels", "zz_" + name, cancellationToken);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -203,7 +203,7 @@ namespace Emby.Server.Implementations.Collections
|
||||
|
||||
collection.UpdateRatingToContent();
|
||||
|
||||
await collection.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false);
|
||||
collection.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
|
||||
|
||||
_providerManager.QueueRefresh(collection.Id, refreshOptions, RefreshPriority.High);
|
||||
|
||||
@@ -262,7 +262,7 @@ namespace Emby.Server.Implementations.Collections
|
||||
|
||||
collection.UpdateRatingToContent();
|
||||
|
||||
await collection.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false);
|
||||
collection.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
|
||||
_providerManager.QueueRefresh(collection.Id, new MetadataRefreshOptions(_fileSystem), RefreshPriority.High);
|
||||
|
||||
EventHelper.FireEventIfNotNull(ItemsRemovedFromCollection, this, new CollectionModifiedEventArgs
|
||||
|
||||
@@ -154,20 +154,13 @@ namespace Emby.Server.Implementations.IO
|
||||
.DistinctBy(i => i.Id)
|
||||
.ToList();
|
||||
|
||||
//foreach (var p in paths)
|
||||
//{
|
||||
// Logger.Info(p + " reports change.");
|
||||
//}
|
||||
|
||||
// If the root folder changed, run the library task so the user can see it
|
||||
if (itemsToRefresh.Any(i => i is AggregateFolder))
|
||||
{
|
||||
LibraryManager.ValidateMediaLibrary(new SimpleProgress<double>(), CancellationToken.None);
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (var item in itemsToRefresh)
|
||||
{
|
||||
if (item is AggregateFolder)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Logger.Info(item.Name + " (" + item.Path + ") will be refreshed.");
|
||||
|
||||
try
|
||||
|
||||
@@ -738,8 +738,7 @@ namespace Emby.Server.Implementations.Library
|
||||
if (folder.ParentId != rootFolder.Id)
|
||||
{
|
||||
folder.ParentId = rootFolder.Id;
|
||||
var task = folder.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None);
|
||||
Task.WaitAll(task);
|
||||
folder.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None);
|
||||
}
|
||||
|
||||
rootFolder.AddVirtualChild(folder);
|
||||
@@ -1834,12 +1833,12 @@ namespace Emby.Server.Implementations.Library
|
||||
/// <param name="updateReason">The update reason.</param>
|
||||
/// <param name="cancellationToken">The cancellation token.</param>
|
||||
/// <returns>Task.</returns>
|
||||
public async Task UpdateItem(BaseItem item, ItemUpdateType updateReason, CancellationToken cancellationToken)
|
||||
public void UpdateItem(BaseItem item, ItemUpdateType updateReason, CancellationToken cancellationToken)
|
||||
{
|
||||
var locationType = item.LocationType;
|
||||
if (locationType != LocationType.Remote && locationType != LocationType.Virtual)
|
||||
{
|
||||
await _providerManagerFactory().SaveMetadata(item, updateReason).ConfigureAwait(false);
|
||||
_providerManagerFactory().SaveMetadata(item, updateReason);
|
||||
}
|
||||
|
||||
item.DateLastSaved = DateTime.UtcNow;
|
||||
@@ -2053,7 +2052,7 @@ namespace Emby.Server.Implementations.Library
|
||||
return GetNamedView(user, name, null, viewType, sortName, cancellationToken);
|
||||
}
|
||||
|
||||
public async Task<UserView> GetNamedView(string name,
|
||||
public UserView GetNamedView(string name,
|
||||
string viewType,
|
||||
string sortName,
|
||||
CancellationToken cancellationToken)
|
||||
@@ -2100,7 +2099,7 @@ namespace Emby.Server.Implementations.Library
|
||||
|
||||
if (refresh)
|
||||
{
|
||||
await item.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None).ConfigureAwait(false);
|
||||
item.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None);
|
||||
_providerManagerFactory().QueueRefresh(item.Id, new MetadataRefreshOptions(_fileSystem)
|
||||
{
|
||||
// Not sure why this is necessary but need to figure it out
|
||||
@@ -2241,7 +2240,7 @@ namespace Emby.Server.Implementations.Library
|
||||
return item;
|
||||
}
|
||||
|
||||
public async Task<UserView> GetNamedView(string name,
|
||||
public UserView GetNamedView(string name,
|
||||
string parentId,
|
||||
string viewType,
|
||||
string sortName,
|
||||
@@ -2294,7 +2293,7 @@ namespace Emby.Server.Implementations.Library
|
||||
if (!string.Equals(viewType, item.ViewType, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
item.ViewType = viewType;
|
||||
await item.UpdateToRepository(ItemUpdateType.MetadataEdit, cancellationToken).ConfigureAwait(false);
|
||||
item.UpdateToRepository(ItemUpdateType.MetadataEdit, cancellationToken);
|
||||
}
|
||||
|
||||
var refresh = isNew || DateTime.UtcNow - item.DateLastRefreshed >= _viewRefreshInterval;
|
||||
@@ -2822,7 +2821,7 @@ namespace Emby.Server.Implementations.Library
|
||||
|
||||
await _providerManagerFactory().SaveImage(item, url, image.Type, imageIndex, CancellationToken.None).ConfigureAwait(false);
|
||||
|
||||
await item.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None).ConfigureAwait(false);
|
||||
item.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None);
|
||||
|
||||
return item.GetImageInfo(image.Type, imageIndex);
|
||||
}
|
||||
@@ -2838,7 +2837,7 @@ namespace Emby.Server.Implementations.Library
|
||||
|
||||
// Remove this image to prevent it from retrying over and over
|
||||
item.RemoveImage(image);
|
||||
await item.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None).ConfigureAwait(false);
|
||||
item.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None);
|
||||
|
||||
throw new InvalidOperationException();
|
||||
}
|
||||
|
||||
@@ -54,7 +54,7 @@ namespace Emby.Server.Implementations.Library
|
||||
{
|
||||
cancellationToken.ThrowIfCancellationRequested();
|
||||
|
||||
await AssignTrailers(item, trailers).ConfigureAwait(false);
|
||||
AssignTrailers(item, trailers);
|
||||
|
||||
numComplete++;
|
||||
double percent = numComplete;
|
||||
@@ -65,7 +65,7 @@ namespace Emby.Server.Implementations.Library
|
||||
progress.Report(100);
|
||||
}
|
||||
|
||||
private async Task AssignTrailers(IHasTrailers item, IEnumerable<BaseItem> channelTrailers)
|
||||
private void AssignTrailers(IHasTrailers item, IEnumerable<BaseItem> channelTrailers)
|
||||
{
|
||||
if (item is Game)
|
||||
{
|
||||
@@ -98,8 +98,7 @@ namespace Emby.Server.Implementations.Library
|
||||
item.RemoteTrailerIds = trailerIds;
|
||||
|
||||
var baseItem = (BaseItem)item;
|
||||
await baseItem.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None)
|
||||
.ConfigureAwait(false);
|
||||
baseItem.UpdateToRepository(ItemUpdateType.MetadataImport, CancellationToken.None);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,7 +147,7 @@ namespace Emby.Server.Implementations.Library.Resolvers.Movies
|
||||
Items = videos
|
||||
};
|
||||
|
||||
var isInMixedFolder = resolverResult.Count > 1;
|
||||
var isInMixedFolder = resolverResult.Count > 1 || (parent != null && parent.IsTopParent);
|
||||
|
||||
foreach (var video in resolverResult)
|
||||
{
|
||||
|
||||
@@ -102,7 +102,7 @@ namespace Emby.Server.Implementations.Library
|
||||
if (_config.Configuration.EnableFolderView)
|
||||
{
|
||||
var name = _localizationManager.GetLocalizedString("ViewType" + CollectionType.Folders);
|
||||
list.Add(await _libraryManager.GetNamedView(name, CollectionType.Folders, string.Empty, cancellationToken).ConfigureAwait(false));
|
||||
list.Add(_libraryManager.GetNamedView(name, CollectionType.Folders, string.Empty, cancellationToken));
|
||||
}
|
||||
|
||||
if (query.IncludeExternalContent)
|
||||
@@ -117,7 +117,7 @@ namespace Emby.Server.Implementations.Library
|
||||
|
||||
if (_config.Configuration.EnableChannelView && channels.Length > 0)
|
||||
{
|
||||
list.Add(await _channelManager.GetInternalChannelFolder(cancellationToken).ConfigureAwait(false));
|
||||
list.Add(_channelManager.GetInternalChannelFolder(cancellationToken));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -126,7 +126,7 @@ namespace Emby.Server.Implementations.Library
|
||||
|
||||
if (_liveTvManager.GetEnabledUsers().Select(i => i.Id.ToString("N")).Contains(query.UserId))
|
||||
{
|
||||
list.Add(await _liveTvManager.GetInternalLiveTvFolder(CancellationToken.None).ConfigureAwait(false));
|
||||
list.Add(_liveTvManager.GetInternalLiveTvFolder(CancellationToken.None));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -158,14 +158,14 @@ namespace Emby.Server.Implementations.Library
|
||||
.ToArray();
|
||||
}
|
||||
|
||||
public Task<UserView> GetUserSubView(string name, string parentId, string type, string sortName, CancellationToken cancellationToken)
|
||||
public UserView GetUserSubView(string name, string parentId, string type, string sortName, CancellationToken cancellationToken)
|
||||
{
|
||||
var uniqueId = parentId + "subview" + type;
|
||||
|
||||
return _libraryManager.GetNamedView(name, parentId, type, sortName, uniqueId, cancellationToken);
|
||||
}
|
||||
|
||||
public Task<UserView> GetUserSubView(string parentId, string type, string sortName, CancellationToken cancellationToken)
|
||||
public UserView GetUserSubView(string parentId, string type, string sortName, CancellationToken cancellationToken)
|
||||
{
|
||||
var name = _localizationManager.GetLocalizedString("ViewType" + type);
|
||||
|
||||
|
||||
@@ -173,11 +173,11 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
}
|
||||
}
|
||||
|
||||
public async Task<QueryResult<BaseItem>> GetInternalChannels(LiveTvChannelQuery query, DtoOptions dtoOptions, CancellationToken cancellationToken)
|
||||
public QueryResult<BaseItem> GetInternalChannels(LiveTvChannelQuery query, DtoOptions dtoOptions, CancellationToken cancellationToken)
|
||||
{
|
||||
var user = string.IsNullOrEmpty(query.UserId) ? null : _userManager.GetUserById(query.UserId);
|
||||
|
||||
var topFolder = await GetInternalLiveTvFolder(cancellationToken).ConfigureAwait(false);
|
||||
var topFolder = GetInternalLiveTvFolder(cancellationToken);
|
||||
|
||||
var internalQuery = new InternalItemsQuery(user)
|
||||
{
|
||||
@@ -565,7 +565,7 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
}
|
||||
else if (forceUpdate)
|
||||
{
|
||||
await _libraryManager.UpdateItem(item, ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false);
|
||||
_libraryManager.UpdateItem(item, ItemUpdateType.MetadataImport, cancellationToken);
|
||||
}
|
||||
|
||||
await item.RefreshMetadata(new MetadataRefreshOptions(_fileSystem)
|
||||
@@ -760,7 +760,7 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
return new Tuple<LiveTvProgram, bool, bool>(item, isNew, isUpdated);
|
||||
}
|
||||
|
||||
private async Task<Guid> CreateRecordingRecord(RecordingInfo info, string serviceName, Guid parentFolderId, CancellationToken cancellationToken)
|
||||
private Guid CreateRecordingRecord(RecordingInfo info, string serviceName, Guid parentFolderId, CancellationToken cancellationToken)
|
||||
{
|
||||
var isNew = false;
|
||||
|
||||
@@ -892,7 +892,7 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
else if (dataChanged || info.DateLastUpdated > recording.DateLastSaved || statusChanged)
|
||||
{
|
||||
metadataRefreshMode = MetadataRefreshMode.FullRefresh;
|
||||
await _libraryManager.UpdateItem(item, ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false);
|
||||
_libraryManager.UpdateItem(item, ItemUpdateType.MetadataImport, cancellationToken);
|
||||
}
|
||||
|
||||
if (info.Status != RecordingStatus.InProgress)
|
||||
@@ -928,7 +928,7 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
{
|
||||
var user = string.IsNullOrEmpty(query.UserId) ? null : _userManager.GetUserById(query.UserId);
|
||||
|
||||
var topFolder = await GetInternalLiveTvFolder(cancellationToken).ConfigureAwait(false);
|
||||
var topFolder = GetInternalLiveTvFolder(cancellationToken);
|
||||
|
||||
if (query.OrderBy.Length == 0)
|
||||
{
|
||||
@@ -1007,11 +1007,11 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
return result;
|
||||
}
|
||||
|
||||
public async Task<QueryResult<BaseItem>> GetRecommendedProgramsInternal(RecommendedProgramQuery query, DtoOptions options, CancellationToken cancellationToken)
|
||||
public QueryResult<BaseItem> GetRecommendedProgramsInternal(RecommendedProgramQuery query, DtoOptions options, CancellationToken cancellationToken)
|
||||
{
|
||||
var user = _userManager.GetUserById(query.UserId);
|
||||
|
||||
var topFolder = await GetInternalLiveTvFolder(cancellationToken).ConfigureAwait(false);
|
||||
var topFolder = GetInternalLiveTvFolder(cancellationToken);
|
||||
|
||||
var internalQuery = new InternalItemsQuery(user)
|
||||
{
|
||||
@@ -1072,11 +1072,11 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
return result;
|
||||
}
|
||||
|
||||
public async Task<QueryResult<BaseItemDto>> GetRecommendedPrograms(RecommendedProgramQuery query, DtoOptions options, CancellationToken cancellationToken)
|
||||
public QueryResult<BaseItemDto> GetRecommendedPrograms(RecommendedProgramQuery query, DtoOptions options, CancellationToken cancellationToken)
|
||||
{
|
||||
RemoveFields(options);
|
||||
|
||||
var internalResult = await GetRecommendedProgramsInternal(query, options, cancellationToken).ConfigureAwait(false);
|
||||
var internalResult = GetRecommendedProgramsInternal(query, options, cancellationToken);
|
||||
|
||||
var user = _userManager.GetUserById(query.UserId);
|
||||
|
||||
@@ -1302,7 +1302,7 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
var list = new List<LiveTvChannel>();
|
||||
|
||||
var numComplete = 0;
|
||||
var parentFolder = await GetInternalLiveTvFolder(cancellationToken).ConfigureAwait(false);
|
||||
var parentFolder = GetInternalLiveTvFolder(cancellationToken);
|
||||
var parentFolderId = parentFolder.Id;
|
||||
|
||||
foreach (var channelInfo in allChannelsList)
|
||||
@@ -1425,7 +1425,7 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
// TODO: Do this in bulk
|
||||
foreach (var program in updatedPrograms)
|
||||
{
|
||||
await _libraryManager.UpdateItem(program, ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false);
|
||||
_libraryManager.UpdateItem(program, ItemUpdateType.MetadataImport, cancellationToken);
|
||||
}
|
||||
|
||||
currentChannel.IsMovie = isMovie;
|
||||
@@ -1434,7 +1434,7 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
currentChannel.IsKids = isKids;
|
||||
currentChannel.IsSeries = iSSeries;
|
||||
|
||||
await currentChannel.UpdateToRepository(ItemUpdateType.MetadataImport, cancellationToken).ConfigureAwait(false);
|
||||
currentChannel.UpdateToRepository(ItemUpdateType.MetadataImport, cancellationToken);
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
{
|
||||
@@ -1549,9 +1549,8 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
|
||||
var results = await Task.WhenAll(tasks).ConfigureAwait(false);
|
||||
|
||||
var recordingTasks = results.SelectMany(i => i.ToList()).Select(i => CreateRecordingRecord(i.Item1, i.Item2.Name, internalLiveTvFolderId, cancellationToken));
|
||||
|
||||
var idList = await Task.WhenAll(recordingTasks).ConfigureAwait(false);
|
||||
var idList = results.SelectMany(i => i.ToList()).Select(i => CreateRecordingRecord(i.Item1, i.Item2.Name, internalLiveTvFolderId, cancellationToken))
|
||||
.ToArray();
|
||||
|
||||
await CleanDatabaseInternal(idList, new[] { typeof(LiveTvVideoRecording).Name, typeof(LiveTvAudioRecording).Name }, new SimpleProgress<double>(), cancellationToken).ConfigureAwait(false);
|
||||
|
||||
@@ -1726,7 +1725,7 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
return new QueryResult<BaseItem>();
|
||||
}
|
||||
|
||||
var folder = await GetInternalLiveTvFolder(cancellationToken).ConfigureAwait(false);
|
||||
var folder = GetInternalLiveTvFolder(cancellationToken);
|
||||
|
||||
// TODO: Figure out how to merge emby recordings + service recordings
|
||||
if (_services.Length == 1)
|
||||
@@ -2143,18 +2142,6 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
};
|
||||
}
|
||||
|
||||
public Task OnRecordingFileDeleted(BaseItem recording)
|
||||
{
|
||||
var service = GetService(recording);
|
||||
|
||||
if (service is EmbyTV.EmbyTV)
|
||||
{
|
||||
return service.DeleteRecordingAsync(GetItemExternalId(recording), CancellationToken.None);
|
||||
}
|
||||
|
||||
return Task.FromResult(true);
|
||||
}
|
||||
|
||||
public async Task DeleteRecording(string recordingId)
|
||||
{
|
||||
var recording = await GetInternalRecording(recordingId, CancellationToken.None).ConfigureAwait(false);
|
||||
@@ -2171,13 +2158,17 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
{
|
||||
var service = GetService(recording.ServiceName);
|
||||
|
||||
try
|
||||
{
|
||||
await service.DeleteRecordingAsync(GetItemExternalId(recording), CancellationToken.None).ConfigureAwait(false);
|
||||
}
|
||||
catch (ResourceNotFoundException)
|
||||
if (service != null)
|
||||
{
|
||||
// handle the service being uninstalled and the item hanging around in the database
|
||||
try
|
||||
{
|
||||
await service.DeleteRecordingAsync(GetItemExternalId(recording), CancellationToken.None).ConfigureAwait(false);
|
||||
}
|
||||
catch (ResourceNotFoundException)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
_lastRecordingRefreshTime = DateTime.MinValue;
|
||||
@@ -2387,7 +2378,7 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
MinEndDate = now,
|
||||
Limit = channelIds.Length,
|
||||
OrderBy = new[] { new Tuple<string, SortOrder>(ItemSortBy.StartDate, SortOrder.Ascending) },
|
||||
TopParentIds = new[] { GetInternalLiveTvFolder(CancellationToken.None).Result.Id.ToString("N") },
|
||||
TopParentIds = new[] { GetInternalLiveTvFolder(CancellationToken.None).Id.ToString("N") },
|
||||
DtoOptions = options
|
||||
|
||||
}) : new List<BaseItem>();
|
||||
@@ -2910,11 +2901,11 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
return service.ResetTuner(parts[1], cancellationToken);
|
||||
}
|
||||
|
||||
public async Task<BaseItemDto> GetLiveTvFolder(string userId, CancellationToken cancellationToken)
|
||||
public BaseItemDto GetLiveTvFolder(string userId, CancellationToken cancellationToken)
|
||||
{
|
||||
var user = string.IsNullOrEmpty(userId) ? null : _userManager.GetUserById(userId);
|
||||
|
||||
var folder = await GetInternalLiveTvFolder(cancellationToken).ConfigureAwait(false);
|
||||
var folder = GetInternalLiveTvFolder(cancellationToken);
|
||||
|
||||
return _dtoService.GetBaseItemDto(folder, new DtoOptions(), user);
|
||||
}
|
||||
@@ -2930,10 +2921,10 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
options.Fields = fields.ToArray(fields.Count);
|
||||
}
|
||||
|
||||
public async Task<Folder> GetInternalLiveTvFolder(CancellationToken cancellationToken)
|
||||
public Folder GetInternalLiveTvFolder(CancellationToken cancellationToken)
|
||||
{
|
||||
var name = _localization.GetLocalizedString("ViewTypeLiveTV");
|
||||
return await _libraryManager.GetNamedView(name, CollectionType.LiveTv, name, cancellationToken).ConfigureAwait(false);
|
||||
return _libraryManager.GetNamedView(name, CollectionType.LiveTv, name, cancellationToken);
|
||||
}
|
||||
|
||||
public async Task<TunerHostInfo> SaveTunerHost(TunerHostInfo info, bool dataSourceChanged = true)
|
||||
|
||||
@@ -209,7 +209,7 @@ namespace Emby.Server.Implementations.Playlists
|
||||
newList.AddRange(list);
|
||||
playlist.LinkedChildren = newList.ToArray(newList.Count);
|
||||
|
||||
await playlist.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false);
|
||||
playlist.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
|
||||
|
||||
_providerManager.QueueRefresh(playlist.Id, new MetadataRefreshOptions(_fileSystem)
|
||||
{
|
||||
@@ -237,7 +237,7 @@ namespace Emby.Server.Implementations.Playlists
|
||||
.Select(i => i.Item1)
|
||||
.ToArray();
|
||||
|
||||
await playlist.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false);
|
||||
playlist.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
|
||||
|
||||
_providerManager.QueueRefresh(playlist.Id, new MetadataRefreshOptions(_fileSystem)
|
||||
{
|
||||
@@ -281,7 +281,7 @@ namespace Emby.Server.Implementations.Playlists
|
||||
|
||||
playlist.LinkedChildren = newList.ToArray(newList.Count);
|
||||
|
||||
await playlist.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None).ConfigureAwait(false);
|
||||
playlist.UpdateToRepository(ItemUpdateType.MetadataEdit, CancellationToken.None);
|
||||
}
|
||||
|
||||
public Folder GetPlaylistsFolder(string userId)
|
||||
|
||||
Reference in New Issue
Block a user