connect updates

This commit is contained in:
Luke Pulverenti
2014-10-25 14:32:58 -04:00
parent c8a735bcb1
commit d74e3b2dea
122 changed files with 549 additions and 278 deletions

View File

@@ -766,7 +766,7 @@ namespace MediaBrowser.Controller.Entities
public Task RefreshMetadata(CancellationToken cancellationToken)
{
return RefreshMetadata(new MetadataRefreshOptions(), cancellationToken);
return RefreshMetadata(new MetadataRefreshOptions(new DirectoryService()), cancellationToken);
}
/// <summary>
@@ -783,8 +783,6 @@ namespace MediaBrowser.Controller.Entities
if (IsFolder || Parent != null)
{
options.DirectoryService = options.DirectoryService ?? new DirectoryService(Logger);
try
{
var files = locationType != LocationType.Remote && locationType != LocationType.Virtual ?
@@ -1360,10 +1358,12 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
/// <param name="user">The user.</param>
/// <param name="datePlayed">The date played.</param>
/// <param name="userManager">The user manager.</param>
/// <param name="resetPosition">if set to <c>true</c> [reset position].</param>
/// <returns>Task.</returns>
/// <exception cref="System.ArgumentNullException"></exception>
public virtual async Task MarkPlayed(User user, DateTime? datePlayed, IUserDataManager userManager)
public virtual async Task MarkPlayed(User user,
DateTime? datePlayed,
bool resetPosition)
{
if (user == null)
{
@@ -1372,7 +1372,7 @@ namespace MediaBrowser.Controller.Entities
var key = GetUserDataKey();
var data = userManager.GetUserData(user.Id, key);
var data = UserDataManager.GetUserData(user.Id, key);
if (datePlayed.HasValue)
{
@@ -1383,20 +1383,24 @@ namespace MediaBrowser.Controller.Entities
// Ensure it's at least one
data.PlayCount = Math.Max(data.PlayCount, 1);
if (resetPosition)
{
data.PlaybackPositionTicks = 0;
}
data.LastPlayedDate = datePlayed ?? data.LastPlayedDate;
data.Played = true;
await userManager.SaveUserData(user.Id, this, data, UserDataSaveReason.TogglePlayed, CancellationToken.None).ConfigureAwait(false);
await UserDataManager.SaveUserData(user.Id, this, data, UserDataSaveReason.TogglePlayed, CancellationToken.None).ConfigureAwait(false);
}
/// <summary>
/// Marks the unplayed.
/// </summary>
/// <param name="user">The user.</param>
/// <param name="userManager">The user manager.</param>
/// <returns>Task.</returns>
/// <exception cref="System.ArgumentNullException"></exception>
public virtual async Task MarkUnplayed(User user, IUserDataManager userManager)
public virtual async Task MarkUnplayed(User user)
{
if (user == null)
{
@@ -1405,7 +1409,7 @@ namespace MediaBrowser.Controller.Entities
var key = GetUserDataKey();
var data = userManager.GetUserData(user.Id, key);
var data = UserDataManager.GetUserData(user.Id, key);
//I think it is okay to do this here.
// if this is only called when a user is manually forcing something to un-played
@@ -1415,7 +1419,7 @@ namespace MediaBrowser.Controller.Entities
data.LastPlayedDate = null;
data.Played = false;
await userManager.SaveUserData(user.Id, this, data, UserDataSaveReason.TogglePlayed, CancellationToken.None).ConfigureAwait(false);
await UserDataManager.SaveUserData(user.Id, this, data, UserDataSaveReason.TogglePlayed, CancellationToken.None).ConfigureAwait(false);
}
/// <summary>

View File

@@ -319,7 +319,7 @@ namespace MediaBrowser.Controller.Entities
public Task ValidateChildren(IProgress<double> progress, CancellationToken cancellationToken)
{
return ValidateChildren(progress, cancellationToken, new MetadataRefreshOptions());
return ValidateChildren(progress, cancellationToken, new MetadataRefreshOptions(new DirectoryService()));
}
/// <summary>
@@ -332,8 +332,6 @@ namespace MediaBrowser.Controller.Entities
/// <returns>Task.</returns>
public Task ValidateChildren(IProgress<double> progress, CancellationToken cancellationToken, MetadataRefreshOptions metadataRefreshOptions, bool recursive = true)
{
metadataRefreshOptions.DirectoryService = metadataRefreshOptions.DirectoryService ?? new DirectoryService(Logger);
return ValidateChildrenWithCancellationSupport(progress, cancellationToken, recursive, true, metadataRefreshOptions, metadataRefreshOptions.DirectoryService);
}
@@ -1141,12 +1139,16 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
/// <param name="user">The user.</param>
/// <param name="datePlayed">The date played.</param>
/// <param name="userManager">The user manager.</param>
/// <param name="resetPosition">if set to <c>true</c> [reset position].</param>
/// <returns>Task.</returns>
public override async Task MarkPlayed(User user, DateTime? datePlayed, IUserDataManager userManager)
public override async Task MarkPlayed(User user,
DateTime? datePlayed,
bool resetPosition)
{
// Sweep through recursively and update status
var tasks = GetRecursiveChildren(user, true).Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual).Select(c => c.MarkPlayed(user, datePlayed, userManager));
var tasks = GetRecursiveChildren(user, true)
.Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual)
.Select(c => c.MarkPlayed(user, datePlayed, resetPosition));
await Task.WhenAll(tasks).ConfigureAwait(false);
}
@@ -1155,12 +1157,13 @@ namespace MediaBrowser.Controller.Entities
/// Marks the unplayed.
/// </summary>
/// <param name="user">The user.</param>
/// <param name="userManager">The user manager.</param>
/// <returns>Task.</returns>
public override async Task MarkUnplayed(User user, IUserDataManager userManager)
public override async Task MarkUnplayed(User user)
{
// Sweep through recursively and update status
var tasks = GetRecursiveChildren(user, true).Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual).Select(c => c.MarkUnplayed(user, userManager));
var tasks = GetRecursiveChildren(user, true)
.Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual)
.Select(c => c.MarkUnplayed(user));
await Task.WhenAll(tasks).ConfigureAwait(false);
}
@@ -1195,14 +1198,14 @@ namespace MediaBrowser.Controller.Entities
public override bool IsPlayed(User user)
{
return GetRecursiveChildren(user).Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual)
return GetRecursiveChildren(user)
.Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual)
.All(i => i.IsPlayed(user));
}
public override bool IsUnplayed(User user)
{
return GetRecursiveChildren(user).Where(i => !i.IsFolder && i.LocationType != LocationType.Virtual)
.All(i => i.IsUnplayed(user));
return !IsPlayed(user);
}
public override void FillUserDataDtoValues(UserItemDataDto dto, UserItemData userData, User user)

View File

@@ -179,7 +179,7 @@ namespace MediaBrowser.Controller.Entities
Name = newName;
return RefreshMetadata(new MetadataRefreshOptions
return RefreshMetadata(new MetadataRefreshOptions(new DirectoryService())
{
ReplaceAllMetadata = true,
ImageRefreshMode = ImageRefreshMode.FullRefresh,

View File

@@ -398,9 +398,8 @@ namespace MediaBrowser.Controller.Entities
var currentImagePath = video.GetImagePath(ImageType.Primary);
var ownerImagePath = this.GetImagePath(ImageType.Primary);
var newOptions = new MetadataRefreshOptions
var newOptions = new MetadataRefreshOptions(options.DirectoryService)
{
DirectoryService = options.DirectoryService,
ImageRefreshMode = options.ImageRefreshMode,
MetadataRefreshMode = options.MetadataRefreshMode,
ReplaceAllMetadata = options.ReplaceAllMetadata