mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-25 11:34:43 +01:00
update genre validator
This commit is contained in:
@@ -3882,18 +3882,36 @@ namespace MediaBrowser.Server.Implementations.Persistence
|
||||
|
||||
public List<string> GetStudioNames()
|
||||
{
|
||||
return GetItemValueNames(new[] { 3 });
|
||||
return GetItemValueNames(new[] { 3 }, new List<string>(), new List<string>());
|
||||
}
|
||||
|
||||
public List<string> GetAllArtistNames()
|
||||
{
|
||||
return GetItemValueNames(new[] { 0, 1 });
|
||||
return GetItemValueNames(new[] { 0, 1 }, new List<string>(), new List<string>());
|
||||
}
|
||||
|
||||
private List<string> GetItemValueNames(int[] itemValueTypes)
|
||||
public List<string> GetMusicGenreNames()
|
||||
{
|
||||
return GetItemValueNames(new[] { 2 }, new List<string> { "Audio", "MusicVideo", "MusicAlbum", "MusicArtist" }, new List<string>());
|
||||
}
|
||||
|
||||
public List<string> GetGameGenreNames()
|
||||
{
|
||||
return GetItemValueNames(new[] { 2 }, new List<string> { "Game" }, new List<string>());
|
||||
}
|
||||
|
||||
public List<string> GetGenreNames()
|
||||
{
|
||||
return GetItemValueNames(new[] { 2 }, new List<string>(), new List<string> { "Audio", "MusicVideo", "MusicAlbum", "MusicArtist", "Game", "GameSystem" });
|
||||
}
|
||||
|
||||
private List<string> GetItemValueNames(int[] itemValueTypes, List<string> withItemTypes, List<string> excludeItemTypes)
|
||||
{
|
||||
CheckDisposed();
|
||||
|
||||
withItemTypes = withItemTypes.SelectMany(MapIncludeItemTypes).ToList();
|
||||
excludeItemTypes = excludeItemTypes.SelectMany(MapIncludeItemTypes).ToList();
|
||||
|
||||
var now = DateTime.UtcNow;
|
||||
|
||||
var typeClause = itemValueTypes.Length == 1 ?
|
||||
@@ -3904,7 +3922,20 @@ namespace MediaBrowser.Server.Implementations.Persistence
|
||||
|
||||
using (var cmd = _connection.CreateCommand())
|
||||
{
|
||||
cmd.CommandText = "Select Value From ItemValues where " + typeClause + " Group By CleanValue";
|
||||
cmd.CommandText = "Select Value From ItemValues where " + typeClause;
|
||||
|
||||
if (withItemTypes.Count > 0)
|
||||
{
|
||||
var typeString = string.Join(",", withItemTypes.Select(i => "'" + i + "'").ToArray());
|
||||
cmd.CommandText += " AND ItemId In (select guid from typedbaseitems where type in (" + typeString + "))";
|
||||
}
|
||||
if (excludeItemTypes.Count > 0)
|
||||
{
|
||||
var typeString = string.Join(",", excludeItemTypes.Select(i => "'" + i + "'").ToArray());
|
||||
cmd.CommandText += " AND ItemId not In (select guid from typedbaseitems where type in (" + typeString + "))";
|
||||
}
|
||||
|
||||
cmd.CommandText += " Group By CleanValue";
|
||||
|
||||
var commandBehavior = CommandBehavior.SequentialAccess | CommandBehavior.SingleResult;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user