diff --git a/Kyoo.Common/Controllers/IFileManager.cs b/Kyoo.Common/Controllers/IFileManager.cs index 03d13d5d..cc3c70bb 100644 --- a/Kyoo.Common/Controllers/IFileManager.cs +++ b/Kyoo.Common/Controllers/IFileManager.cs @@ -16,7 +16,6 @@ namespace Kyoo.Controllers public Task> ListFiles([NotNull] string path); public Task Exists([NotNull] string path); - // TODO replace every use of System.IO with this to allow custom paths (like uptobox://path) // TODO find a way to handle Transmux/Transcode with this system. public string GetExtraDirectory(Show show); diff --git a/Kyoo.Common/Controllers/IThumbnailsManager.cs b/Kyoo.Common/Controllers/IThumbnailsManager.cs index 603a0f6f..5d2597cf 100644 --- a/Kyoo.Common/Controllers/IThumbnailsManager.cs +++ b/Kyoo.Common/Controllers/IThumbnailsManager.cs @@ -7,11 +7,11 @@ namespace Kyoo.Controllers { public interface IThumbnailsManager { - Task Validate(Show show, bool alwaysDownload = false); - Task Validate(Season season, bool alwaysDownload = false); - Task Validate(Episode episode, bool alwaysDownload = false); - Task Validate(People actors, bool alwaysDownload = false); - Task Validate(ProviderID actors, bool alwaysDownload = false); + Task Validate(Show show, bool alwaysDownload = false); + Task Validate(Season season, bool alwaysDownload = false); + Task Validate(Episode episode, bool alwaysDownload = false); + Task Validate(People actors, bool alwaysDownload = false); + Task Validate(ProviderID actors, bool alwaysDownload = false); Task GetShowPoster([NotNull] Show show); Task GetShowLogo([NotNull] Show show); diff --git a/Kyoo/Controllers/ThumbnailsManager.cs b/Kyoo/Controllers/ThumbnailsManager.cs index 3398f115..bc91f1af 100644 --- a/Kyoo/Controllers/ThumbnailsManager.cs +++ b/Kyoo/Controllers/ThumbnailsManager.cs @@ -38,7 +38,7 @@ namespace Kyoo.Controllers } } - public async Task Validate(Show show, bool alwaysDownload) + public async Task Validate(Show show, bool alwaysDownload) { if (show.Poster != null) { @@ -61,11 +61,9 @@ namespace Kyoo.Controllers foreach (PeopleRole role in show.People) await Validate(role.People, alwaysDownload); - - return show; } - public async Task Validate([NotNull] People people, bool alwaysDownload) + public async Task Validate([NotNull] People people, bool alwaysDownload) { if (people == null) throw new ArgumentNullException(nameof(people)); @@ -75,42 +73,32 @@ namespace Kyoo.Controllers Directory.CreateDirectory(root); if (alwaysDownload || !File.Exists(localPath)) await DownloadImage(people.Poster, localPath, $"The profile picture of {people.Name}"); - - return people; } - public async Task Validate(Season season, bool alwaysDownload) + public async Task Validate(Season season, bool alwaysDownload) { - if (season?.Show?.Path == null) - return default; + if (season?.Show?.Path == null || season.Poster == null) + return; - if (season.Poster != null) - { - string localPath = await GetSeasonPoster(season); - if (alwaysDownload || !File.Exists(localPath)) - await DownloadImage(season.Poster, localPath, $"The poster of {season.Show.Title}'s season {season.SeasonNumber}"); - } - return season; + string localPath = await GetSeasonPoster(season); + if (alwaysDownload || !File.Exists(localPath)) + await DownloadImage(season.Poster, localPath, $"The poster of {season.Show.Title}'s season {season.SeasonNumber}"); } - public async Task Validate(Episode episode, bool alwaysDownload) + public async Task Validate(Episode episode, bool alwaysDownload) { - if (episode?.Path == null) - return default; + if (episode?.Path == null || episode.Thumb == null) + return; - if (episode.Thumb != null) - { - string localPath = await GetEpisodeThumb(episode); - if (alwaysDownload || !File.Exists(localPath)) - await DownloadImage(episode.Thumb, localPath, $"The thumbnail of {episode.Slug}"); - } - return episode; + string localPath = await GetEpisodeThumb(episode); + if (alwaysDownload || !File.Exists(localPath)) + await DownloadImage(episode.Thumb, localPath, $"The thumbnail of {episode.Slug}"); } - public async Task Validate(ProviderID provider, bool alwaysDownload) + public async Task Validate(ProviderID provider, bool alwaysDownload) { if (provider.Logo == null) - return provider; + return; string root = _config.GetValue("providerPath"); string localPath = Path.Combine(root, provider.Slug + ".jpg"); @@ -118,7 +106,6 @@ namespace Kyoo.Controllers Directory.CreateDirectory(root); if (alwaysDownload || !File.Exists(localPath)) await DownloadImage(provider.Logo, localPath, $"The logo of {provider.Slug}"); - return provider; } public Task GetShowBackdrop(Show show)