Allowing the rescan to work for a season

This commit is contained in:
Zoe Roux 2020-05-06 23:26:01 +02:00
parent ea3b320dad
commit 8abd17999b

View File

@ -42,9 +42,8 @@ namespace Kyoo.Tasks
case "show":
await ReScanShow(slug);
break;
//case "season":
// await ReScanSeason(slug):
default:
case "season":
await ReScanSeason(slug);
break;
}
}
@ -68,6 +67,21 @@ namespace Kyoo.Tasks
await Task.WhenAll(orphans.Select(x => ReScanEpisode(old, x)));
}
private async Task ReScanSeason(string seasonSlug)
{
string[] infos = seasonSlug.Split('-');
if (infos.Length != 2 || int.TryParse(infos[1], out int seasonNumber))
return;
string slug = infos[0];
Show show = _database.Shows.FirstOrDefault(x => x.Slug == slug);
if (show == null)
return;
Season old = _database.Seasons.FirstOrDefault(x => x.SeasonNumber == seasonNumber && x.Show.ID == show.ID);
if (old == null)
return;
await ReScanSeason(show, old);
}
private async Task ReScanSeason(Show show, Season old)
{
Library library = _libraryManager.GetLibraryForShow(show.Slug);
@ -79,11 +93,6 @@ namespace Kyoo.Tasks
await Task.WhenAll(old.Episodes.Select(x => ReScanEpisode(show, x)));
}
// private async Task ReScanSeason(string slug)
// {
//
// }
private async Task ReScanEpisode(Show show, Episode old)
{
Library library = _libraryManager.GetLibraryForShow(show.Slug);