private IEnumerable <SeasonsEnumeration> EnumerateSeasons(TitlePathModel titlePathModel, string directory) { foreach (var subDirectory in _fileSystem.Directory.EnumerateDirectories(directory)) { yield return(new SeasonsEnumeration() { Location = BuildUri(titlePathModel, subDirectory), Titles = EnumerateTitles(titlePathModel, subDirectory).ToArray() }); } }
private IEnumerable <GenresEnumeration> EnumerateGenres(TitlePathModel titlePathModel) { foreach (var subDirectory in _fileSystem.Directory.EnumerateDirectories(titlePathModel.Path)) { yield return(new GenresEnumeration() { Origin = titlePathModel, Location = BuildUri(titlePathModel, subDirectory), Seasons = EnumerateSeasons(titlePathModel, subDirectory).ToArray() }); } }
private IEnumerable <TitleEnumeration> EnumerateTitles(TitlePathModel titlePathModel, string directory) { var patterns = new string[] { "*.m4v" }; foreach (var subDirectory in patterns.SelectMany(e => _fileSystem.Directory.EnumerateFiles(directory, e))) { yield return(new TitleEnumeration() { Location = BuildUri(titlePathModel, subDirectory), }); } }
private static string BuildUri(TitlePathModel pathModel, string location) { return($"{pathModel.Id}://{location.Remove(0, pathModel.Path.Length + 1)}"); }