mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-05-28 19:38:26 +01:00
fixes #232 - '/' in artist causes issues.
This commit is contained in:
@@ -103,7 +103,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>Task{BaseItemDto}.</returns>
|
||||
private async Task<BaseItemDto> GetItem(GetArtist request)
|
||||
{
|
||||
var item = await LibraryManager.GetArtist(request.Name).ConfigureAwait(false);
|
||||
var item = await GetArtist(request.Name, LibraryManager).ConfigureAwait(false);
|
||||
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
|
||||
@@ -127,7 +127,9 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetArtistsItemCounts request)
|
||||
{
|
||||
var items = GetItems(request.UserId).OfType<Audio>().Where(i => i.HasArtist(request.Name)).ToList();
|
||||
var name = DeSlugArtistName(request.Name, LibraryManager);
|
||||
|
||||
var items = GetItems(request.UserId).OfType<Audio>().Where(i => i.HasArtist(name)).ToList();
|
||||
|
||||
var counts = new ItemByNameCounts
|
||||
{
|
||||
|
||||
@@ -94,7 +94,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>Task{BaseItemDto}.</returns>
|
||||
private async Task<BaseItemDto> GetItem(GetGenre request)
|
||||
{
|
||||
var item = await LibraryManager.GetGenre(request.Name).ConfigureAwait(false);
|
||||
var item = await GetGenre(request.Name, LibraryManager).ConfigureAwait(false);
|
||||
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
|
||||
@@ -156,7 +156,9 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetGenreItemCounts request)
|
||||
{
|
||||
var items = GetItems(request.UserId).Where(i => i.Genres != null && i.Genres.Contains(request.Name, StringComparer.OrdinalIgnoreCase)).ToList();
|
||||
var name = DeSlugGenreName(request.Name, LibraryManager);
|
||||
|
||||
var items = GetItems(request.UserId).Where(i => i.Genres != null && i.Genres.Contains(name, StringComparer.OrdinalIgnoreCase)).ToList();
|
||||
|
||||
var counts = new ItemByNameCounts
|
||||
{
|
||||
|
||||
@@ -212,19 +212,19 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
if (string.Equals(type, "Persons"))
|
||||
{
|
||||
item = await LibraryManager.GetPerson(name).ConfigureAwait(false);
|
||||
item = await GetPerson(name, LibraryManager).ConfigureAwait(false);
|
||||
}
|
||||
else if (string.Equals(type, "Artists"))
|
||||
{
|
||||
item = await LibraryManager.GetArtist(name).ConfigureAwait(false);
|
||||
item = await GetArtist(name, LibraryManager).ConfigureAwait(false);
|
||||
}
|
||||
else if (string.Equals(type, "Genres"))
|
||||
{
|
||||
item = await LibraryManager.GetGenre(name).ConfigureAwait(false);
|
||||
item = await GetGenre(name, LibraryManager).ConfigureAwait(false);
|
||||
}
|
||||
else if (string.Equals(type, "Studios"))
|
||||
{
|
||||
item = await LibraryManager.GetStudio(name).ConfigureAwait(false);
|
||||
item = await GetStudio(name, LibraryManager).ConfigureAwait(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -256,19 +256,19 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
|
||||
if (string.Equals(type, "Persons"))
|
||||
{
|
||||
item = await LibraryManager.GetPerson(name).ConfigureAwait(false);
|
||||
item = await GetPerson(name, LibraryManager).ConfigureAwait(false);
|
||||
}
|
||||
else if (string.Equals(type, "Artists"))
|
||||
{
|
||||
item = await LibraryManager.GetArtist(name).ConfigureAwait(false);
|
||||
item = await GetArtist(name, LibraryManager).ConfigureAwait(false);
|
||||
}
|
||||
else if (string.Equals(type, "Genres"))
|
||||
{
|
||||
item = await LibraryManager.GetGenre(name).ConfigureAwait(false);
|
||||
item = await GetGenre(name, LibraryManager).ConfigureAwait(false);
|
||||
}
|
||||
else if (string.Equals(type, "Studios"))
|
||||
{
|
||||
item = await LibraryManager.GetStudio(name).ConfigureAwait(false);
|
||||
item = await GetStudio(name, LibraryManager).ConfigureAwait(false);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -109,7 +109,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>Task{BaseItemDto}.</returns>
|
||||
private async Task<BaseItemDto> GetItem(GetPerson request)
|
||||
{
|
||||
var item = await LibraryManager.GetPerson(request.Name).ConfigureAwait(false);
|
||||
var item = await GetPerson(request.Name, LibraryManager).ConfigureAwait(false);
|
||||
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
|
||||
@@ -145,7 +145,9 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetPersonItemCounts request)
|
||||
{
|
||||
var items = GetItems(request.UserId).Where(i => i.People != null && i.People.Any(p => string.Equals(p.Name, request.Name, StringComparison.OrdinalIgnoreCase))).ToList();
|
||||
var name = DeSlugPersonName(request.Name, LibraryManager);
|
||||
|
||||
var items = GetItems(request.UserId).Where(i => i.People != null && i.People.Any(p => string.Equals(p.Name, name, StringComparison.OrdinalIgnoreCase))).ToList();
|
||||
|
||||
var counts = new ItemByNameCounts
|
||||
{
|
||||
|
||||
@@ -94,7 +94,7 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>Task{BaseItemDto}.</returns>
|
||||
private async Task<BaseItemDto> GetItem(GetStudio request)
|
||||
{
|
||||
var item = await LibraryManager.GetStudio(request.Name).ConfigureAwait(false);
|
||||
var item = await GetStudio(request.Name, LibraryManager).ConfigureAwait(false);
|
||||
|
||||
// Get everything
|
||||
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true));
|
||||
@@ -118,7 +118,9 @@ namespace MediaBrowser.Api.UserLibrary
|
||||
/// <returns>System.Object.</returns>
|
||||
public object Get(GetStudioItemCounts request)
|
||||
{
|
||||
var items = GetItems(request.UserId).Where(i => i.Studios != null && i.Studios.Contains(request.Name, StringComparer.OrdinalIgnoreCase)).ToList();
|
||||
var name = DeSlugStudioName(request.Name, LibraryManager);
|
||||
|
||||
var items = GetItems(request.UserId).Where(i => i.Studios != null && i.Studios.Contains(name, StringComparer.OrdinalIgnoreCase)).ToList();
|
||||
|
||||
var counts = new ItemByNameCounts
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user