From 708a8115d5bd53fb079d5f0a9109b4df12f417f9 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Mon, 1 Jul 2013 14:17:55 -0400 Subject: added game xml saving --- .../Library/LuceneSearchEngine.cs | 28 +++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) (limited to 'MediaBrowser.Server.Implementations/Library') diff --git a/MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs b/MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs index e7565ff65..f47d6c448 100644 --- a/MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs +++ b/MediaBrowser.Server.Implementations/Library/LuceneSearchEngine.cs @@ -145,7 +145,7 @@ namespace MediaBrowser.Server.Implementations.Library } // Find genres, from non-audio items - var genres = items.Where(i => !(i is Audio) && !(i is MusicAlbum) && !(i is MusicAlbumDisc) && !(i is MusicArtist) && !(i is MusicVideo)) + var genres = items.Where(i => !(i is Audio) && !(i is MusicAlbum) && !(i is MusicAlbumDisc) && !(i is MusicArtist) && !(i is MusicVideo) && !(i is Game)) .SelectMany(i => i.Genres) .Where(i => !string.IsNullOrEmpty(i)) .Distinct(StringComparer.OrdinalIgnoreCase) @@ -196,6 +196,32 @@ namespace MediaBrowser.Server.Implementations.Library } } + // Find music genres + var gameGenres = items.OfType() + .SelectMany(i => i.Genres) + .Where(i => !string.IsNullOrEmpty(i)) + .Distinct(StringComparer.OrdinalIgnoreCase) + .ToList(); + + foreach (var item in gameGenres) + { + var index = GetIndex(item, searchTerm, terms); + + if (index.Item2 != -1) + { + try + { + var genre = await _libraryManager.GetGameGenre(item).ConfigureAwait(false); + + hints.Add(new Tuple(genre, index.Item1, index.Item2)); + } + catch (Exception ex) + { + _logger.ErrorException("Error getting {0}", ex, item); + } + } + } + // Find studios var studios = items.SelectMany(i => i.Studios) .Where(i => !string.IsNullOrEmpty(i)) -- cgit v1.2.3