/// <summary> /// Tries to populate any empty fanart types in the specified <see cref="FanArtPathCollection"/> with image paths /// contained in <paramref name="potentialFanArtFiles"/> that start with 'season-all', 'season{<paramref name="seasonNumber"/>}' /// or, if <paramref name="seasonNumber"/> is 0, 'season-specials'. /// </summary> /// <param name="paths">The <see cref="FanArtPathCollection"/> to add matching paths to.</param> /// <param name="potentialFanArtFiles">Collection of potential fanart paths.</param> /// <param name="seasonNumber">The season number.</param> protected void GetAdditionalSeasonFolderFanArt(FanArtPathCollection paths, ICollection <ResourcePath> potentialFanArtFiles, int?seasonNumber) { if (!seasonNumber.HasValue) { return; } if (potentialFanArtFiles == null || potentialFanArtFiles.Count == 0) { return; } string[] prefixes = LocalFanartHelper.GetAdditionalSeasonPrefixes(seasonNumber); if (paths.Count(FanArtTypes.Thumbnail) == 0) { paths.AddRange(FanArtTypes.Thumbnail, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.THUMB_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } if (paths.Count(FanArtTypes.Poster) == 0) { paths.AddRange(FanArtTypes.Poster, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.POSTER_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } if (paths.Count(FanArtTypes.Logo) == 0) { paths.AddRange(FanArtTypes.Logo, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.LOGO_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } if (paths.Count(FanArtTypes.ClearArt) == 0) { paths.AddRange(FanArtTypes.ClearArt, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.CLEARART_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } if (paths.Count(FanArtTypes.DiscArt) == 0) { paths.AddRange(FanArtTypes.DiscArt, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.DISCART_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } if (paths.Count(FanArtTypes.Banner) == 0) { paths.AddRange(FanArtTypes.Banner, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.BANNER_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } if (paths.Count(FanArtTypes.FanArt) == 0) { paths.AddRange(FanArtTypes.FanArt, LocalFanartHelper.FilterPotentialFanArtFilesByPrefix(potentialFanArtFiles, LocalFanartHelper.BACKDROP_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } }
/// <summary> /// Tries to populate any empty fanart types in the specified <see cref="FanArtPathCollection"/> with image paths /// contained in <paramref name="potentialFanArtFiles"/> that start with 'season-all', 'season{<paramref name="seasonNumber"/>}' /// or, if <paramref name="seasonNumber"/> is 0, 'season-specials'. /// </summary> /// <param name="paths">The <see cref="FanArtPathCollection"/> to add matching paths to.</param> /// <param name="potentialFanArtFiles">Collection of potential fanart paths.</param> /// <param name="seasonNumber">The season number.</param> protected void GetAdditionalSeasonFolderFanArt(FanArtPathCollection paths, ICollection <ResourcePath> potentialFanArtFiles, int seasonNumber) { if (potentialFanArtFiles == null || potentialFanArtFiles.Count == 0) { return; } string[] prefixes = new[] { string.Format("season{0:00}", seasonNumber), seasonNumber == 0 ? "season-specials" : "season-all" }; if (paths.Count(FanArtTypes.Thumbnail) == 0) { paths.AddRange(FanArtTypes.Thumbnail, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.THUMB_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } if (paths.Count(FanArtTypes.Poster) == 0) { paths.AddRange(FanArtTypes.Poster, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.POSTER_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } if (paths.Count(FanArtTypes.Logo) == 0) { paths.AddRange(FanArtTypes.Logo, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.LOGO_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } if (paths.Count(FanArtTypes.ClearArt) == 0) { paths.AddRange(FanArtTypes.ClearArt, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.CLEARART_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } if (paths.Count(FanArtTypes.DiscArt) == 0) { paths.AddRange(FanArtTypes.DiscArt, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.DISCART_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } if (paths.Count(FanArtTypes.Banner) == 0) { paths.AddRange(FanArtTypes.Banner, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.BANNER_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } if (paths.Count(FanArtTypes.FanArt) == 0) { paths.AddRange(FanArtTypes.FanArt, LocalFanartHelper.FilterPotentialFanArtFilesByName(potentialFanArtFiles, LocalFanartHelper.BACKDROP_FILENAMES.SelectMany(f => prefixes.Select(p => p + "-" + f)))); } }