Fix library creator task

This commit is contained in:
Zoe Roux 2023-03-17 00:05:18 +09:00
parent a4f9d5b461
commit da0c1087e9
2 changed files with 5 additions and 20 deletions

View File

@ -93,9 +93,11 @@ namespace Kyoo.Core.Controllers
if (resource.Providers != null)
{
resource.Providers = await resource.Providers
.SelectAsync(x => _providers.CreateIfNotExists(x))
.SelectAsync(async x =>
_database.LocalEntity<Provider>(x.Slug)
?? await _providers.CreateIfNotExists(x)
)
.ToListAsync();
_database.AttachRange(resource.Providers);
}
}

View File

@ -26,7 +26,6 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Utils;
using Microsoft.Extensions.Logging;
namespace Kyoo.Core.Tasks
{
@ -42,29 +41,13 @@ namespace Kyoo.Core.Tasks
/// </summary>
private readonly ILibraryManager _libraryManager;
/// <summary>
/// A task manager used to create sub tasks for each episode to add to the database.
/// </summary>
private readonly ITaskManager _taskManager;
/// <summary>
/// The logger used to inform the current status to the console.
/// </summary>
private readonly ILogger<Crawler> _logger;
/// <summary>
/// Create a new <see cref="Crawler"/>.
/// </summary>
/// <param name="libraryManager">The library manager to retrieve existing episodes/library/tracks</param>
/// <param name="taskManager">The task manager used to start <see cref="RegisterEpisode"/>.</param>
/// <param name="logger">The logger used print messages.</param>
public LibraryCreator(ILibraryManager libraryManager,
ITaskManager taskManager,
ILogger<Crawler> logger)
public LibraryCreator(ILibraryManager libraryManager)
{
_libraryManager = libraryManager;
_taskManager = taskManager;
_logger = logger;
}
/// <inheritdoc />