From dfd6f3e28e6f365d88e27f8a79e490aacd5aae94 Mon Sep 17 00:00:00 2001 From: Zoe Roux Date: Sat, 19 Dec 2020 22:26:51 +0100 Subject: [PATCH] Update TrackRepository.cs --- .../Repositories/TrackRepository.cs | 22 ++++++++++++++----- 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/Kyoo/Controllers/Repositories/TrackRepository.cs b/Kyoo/Controllers/Repositories/TrackRepository.cs index 1238885b..aa011957 100644 --- a/Kyoo/Controllers/Repositories/TrackRepository.cs +++ b/Kyoo/Controllers/Repositories/TrackRepository.cs @@ -36,7 +36,7 @@ namespace Kyoo.Controllers await _database.DisposeAsync(); } - public override Task Get(string slug) + public override Task Get(string slug, StreamType type = StreamType.Unknow) { Match match = Regex.Match(slug, @"(?.*)-s(?\d+)e(?\d+)\.(?.{0,3})(?-forced)?(\..*)?"); @@ -56,11 +56,21 @@ namespace Kyoo.Controllers int episodeNumber = match.Groups["episode"].Success ? int.Parse(match.Groups["episode"].Value) : -1; string language = match.Groups["language"].Value; bool forced = match.Groups["forced"].Success; + + if (type == StreamType.Unknow) + { + return _database.Tracks.FirstOrDefaultAsync(x => x.Episode.Show.Slug == showSlug + && x.Episode.SeasonNumber == seasonNumber + && x.Episode.EpisodeNumber == episodeNumber + && x.Language == language + && x.IsForced == forced); + } return _database.Tracks.FirstOrDefaultAsync(x => x.Episode.Show.Slug == showSlug - && x.Episode.SeasonNumber == seasonNumber - && x.Episode.EpisodeNumber == episodeNumber - && x.Language == language - && x.IsForced == forced); + && x.Episode.SeasonNumber == seasonNumber + && x.Episode.EpisodeNumber == episodeNumber + && x.Type == type + && x.Language == language + && x.IsForced == forced); } public Task> Search(string query) @@ -93,4 +103,4 @@ namespace Kyoo.Controllers await _database.SaveChangesAsync(); } } -} \ No newline at end of file +}