mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-04 06:48:35 +01:00
connect updates
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user