aboutsummaryrefslogtreecommitdiff
path: root/Emby.Server.Implementations/Library
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2017-09-18 13:09:00 -0400
committerGitHub <noreply@github.com>2017-09-18 13:09:00 -0400
commitb09e0a6e29ef32e91561451a3c5a4b7b436882e9 (patch)
treeb2769394f51e63eae055ad1d1de3b6fe152a1a2d /Emby.Server.Implementations/Library
parent64b04216f11799c114e57349e83ce78ef2795a02 (diff)
parent983c249d397a356b5fa770a2e2fe5df87b11f4d4 (diff)
Merge pull request #2889 from MediaBrowser/dev
Dev
Diffstat (limited to 'Emby.Server.Implementations/Library')
-rw-r--r--Emby.Server.Implementations/Library/LibraryManager.cs36
-rw-r--r--Emby.Server.Implementations/Library/UserManager.cs9
2 files changed, 29 insertions, 16 deletions
diff --git a/Emby.Server.Implementations/Library/LibraryManager.cs b/Emby.Server.Implementations/Library/LibraryManager.cs
index 139435faa..eab52e5e8 100644
--- a/Emby.Server.Implementations/Library/LibraryManager.cs
+++ b/Emby.Server.Implementations/Library/LibraryManager.cs
@@ -386,7 +386,7 @@ namespace Emby.Server.Implementations.Library
item.Id);
}
- var parent = item.Parent;
+ var parent = item.IsOwnedItem ? item.GetOwner() : item.GetParent();
var locationType = item.LocationType;
@@ -453,12 +453,28 @@ namespace Emby.Server.Implementations.Library
if (parent != null)
{
- await parent.ValidateChildren(new SimpleProgress<double>(), CancellationToken.None, new MetadataRefreshOptions(_fileSystem), false).ConfigureAwait(false);
+ var parentFolder = parent as Folder;
+ if (parentFolder != null)
+ {
+ await parentFolder.ValidateChildren(new SimpleProgress<double>(), CancellationToken.None, new MetadataRefreshOptions(_fileSystem), false).ConfigureAwait(false);
+ }
+ else
+ {
+ await parent.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), CancellationToken.None).ConfigureAwait(false);
+ }
}
}
else if (parent != null)
{
- parent.RemoveChild(item);
+ var parentFolder = parent as Folder;
+ if (parentFolder != null)
+ {
+ parentFolder.RemoveChild(item);
+ }
+ else
+ {
+ await parent.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), CancellationToken.None).ConfigureAwait(false);
+ }
}
ItemRepository.DeleteItem(item.Id, CancellationToken.None);
@@ -2604,8 +2620,11 @@ namespace Emby.Server.Implementations.Library
{
video = dbItem;
}
-
- video.ExtraType = ExtraType.Trailer;
+ else
+ {
+ // item is new
+ video.ExtraType = ExtraType.Trailer;
+ }
video.TrailerTypes = new List<TrailerType> { TrailerType.LocalTrailer };
return video;
@@ -2846,13 +2865,6 @@ namespace Emby.Server.Implementations.Library
await _providerManagerFactory().SaveImage(item, url, image.Type, imageIndex, CancellationToken.None).ConfigureAwait(false);
- var newImage = item.GetImageInfo(image.Type, imageIndex);
-
- if (newImage != null)
- {
- newImage.IsPlaceholder = image.IsPlaceholder;
- }
-
await item.UpdateToRepository(ItemUpdateType.ImageUpdate, CancellationToken.None).ConfigureAwait(false);
return item.GetImageInfo(image.Type, imageIndex);
diff --git a/Emby.Server.Implementations/Library/UserManager.cs b/Emby.Server.Implementations/Library/UserManager.cs
index c9de3c01b..0f48ff46b 100644
--- a/Emby.Server.Implementations/Library/UserManager.cs
+++ b/Emby.Server.Implementations/Library/UserManager.cs
@@ -518,11 +518,12 @@ namespace Emby.Server.Implementations.Library
/// </summary>
/// <param name="cancellationToken">The cancellation token.</param>
/// <returns>Task.</returns>
- public Task RefreshUsersMetadata(CancellationToken cancellationToken)
+ public async Task RefreshUsersMetadata(CancellationToken cancellationToken)
{
- var tasks = Users.Select(user => user.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), cancellationToken)).ToList();
-
- return Task.WhenAll(tasks);
+ foreach (var user in Users)
+ {
+ await user.RefreshMetadata(new MetadataRefreshOptions(_fileSystem), cancellationToken).ConfigureAwait(false);
+ }
}
/// <summary>