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) if (resource.Providers != null)
{ {
resource.Providers = await resource.Providers resource.Providers = await resource.Providers
.SelectAsync(x => _providers.CreateIfNotExists(x)) .SelectAsync(async x =>
_database.LocalEntity<Provider>(x.Slug)
?? await _providers.CreateIfNotExists(x)
)
.ToListAsync(); .ToListAsync();
_database.AttachRange(resource.Providers);
} }
} }

View File

@ -26,7 +26,6 @@ using Kyoo.Abstractions.Controllers;
using Kyoo.Abstractions.Models; using Kyoo.Abstractions.Models;
using Kyoo.Abstractions.Models.Attributes; using Kyoo.Abstractions.Models.Attributes;
using Kyoo.Utils; using Kyoo.Utils;
using Microsoft.Extensions.Logging;
namespace Kyoo.Core.Tasks namespace Kyoo.Core.Tasks
{ {
@ -42,29 +41,13 @@ namespace Kyoo.Core.Tasks
/// </summary> /// </summary>
private readonly ILibraryManager _libraryManager; 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> /// <summary>
/// Create a new <see cref="Crawler"/>. /// Create a new <see cref="Crawler"/>.
/// </summary> /// </summary>
/// <param name="libraryManager">The library manager to retrieve existing episodes/library/tracks</param> /// <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> public LibraryCreator(ILibraryManager libraryManager)
/// <param name="logger">The logger used print messages.</param>
public LibraryCreator(ILibraryManager libraryManager,
ITaskManager taskManager,
ILogger<Crawler> logger)
{ {
_libraryManager = libraryManager; _libraryManager = libraryManager;
_taskManager = taskManager;
_logger = logger;
} }
/// <inheritdoc /> /// <inheritdoc />