remove unneeded async signatures

This commit is contained in:
Luke Pulverenti
2017-10-03 14:39:37 -04:00
parent a7b0b601fa
commit a5b82cd2ec
32 changed files with 231 additions and 338 deletions

View File

@@ -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);
}
}

View File

@@ -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

View File

@@ -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

View File

@@ -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();
}

View File

@@ -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);
}
}
}

View File

@@ -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)
{

View File

@@ -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);

View File

@@ -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)

View File

@@ -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)