mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-17 06:23:03 +03:00
update home sections
This commit is contained in:
@@ -178,13 +178,7 @@ namespace MediaBrowser.Api
|
||||
{
|
||||
if (name.IndexOf(BaseItem.SlugChar) != -1)
|
||||
{
|
||||
var result = libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
SlugName = name,
|
||||
IncludeItemTypes = new[] { typeof(MusicArtist).Name },
|
||||
DtoOptions = dtoOptions
|
||||
|
||||
}).OfType<MusicArtist>().FirstOrDefault();
|
||||
var result = GetItemFromSlugName<MusicArtist>(libraryManager, name, dtoOptions);
|
||||
|
||||
if (result != null)
|
||||
{
|
||||
@@ -199,13 +193,7 @@ namespace MediaBrowser.Api
|
||||
{
|
||||
if (name.IndexOf(BaseItem.SlugChar) != -1)
|
||||
{
|
||||
var result = libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
SlugName = name,
|
||||
IncludeItemTypes = new[] { typeof(Studio).Name },
|
||||
DtoOptions = dtoOptions
|
||||
|
||||
}).OfType<Studio>().FirstOrDefault();
|
||||
var result = GetItemFromSlugName<Studio>(libraryManager, name, dtoOptions);
|
||||
|
||||
if (result != null)
|
||||
{
|
||||
@@ -220,13 +208,7 @@ namespace MediaBrowser.Api
|
||||
{
|
||||
if (name.IndexOf(BaseItem.SlugChar) != -1)
|
||||
{
|
||||
var result = libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
SlugName = name,
|
||||
IncludeItemTypes = new[] { typeof(Genre).Name },
|
||||
DtoOptions = dtoOptions
|
||||
|
||||
}).OfType<Genre>().FirstOrDefault();
|
||||
var result = GetItemFromSlugName<Genre>(libraryManager, name, dtoOptions);
|
||||
|
||||
if (result != null)
|
||||
{
|
||||
@@ -241,13 +223,7 @@ namespace MediaBrowser.Api
|
||||
{
|
||||
if (name.IndexOf(BaseItem.SlugChar) != -1)
|
||||
{
|
||||
var result = libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
SlugName = name,
|
||||
IncludeItemTypes = new[] { typeof(MusicGenre).Name },
|
||||
DtoOptions = dtoOptions
|
||||
|
||||
}).OfType<MusicGenre>().FirstOrDefault();
|
||||
var result = GetItemFromSlugName<MusicGenre>(libraryManager, name, dtoOptions);
|
||||
|
||||
if (result != null)
|
||||
{
|
||||
@@ -262,13 +238,7 @@ namespace MediaBrowser.Api
|
||||
{
|
||||
if (name.IndexOf(BaseItem.SlugChar) != -1)
|
||||
{
|
||||
var result = libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
SlugName = name,
|
||||
IncludeItemTypes = new[] { typeof(GameGenre).Name },
|
||||
DtoOptions = dtoOptions
|
||||
|
||||
}).OfType<GameGenre>().FirstOrDefault();
|
||||
var result = GetItemFromSlugName<GameGenre>(libraryManager, name, dtoOptions);
|
||||
|
||||
if (result != null)
|
||||
{
|
||||
@@ -283,13 +253,7 @@ namespace MediaBrowser.Api
|
||||
{
|
||||
if (name.IndexOf(BaseItem.SlugChar) != -1)
|
||||
{
|
||||
var result = libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
SlugName = name,
|
||||
IncludeItemTypes = new[] { typeof(Person).Name },
|
||||
DtoOptions = dtoOptions
|
||||
|
||||
}).OfType<Person>().FirstOrDefault();
|
||||
var result = GetItemFromSlugName<Person>(libraryManager, name, dtoOptions);
|
||||
|
||||
if (result != null)
|
||||
{
|
||||
@@ -300,6 +264,42 @@ namespace MediaBrowser.Api
|
||||
return libraryManager.GetPerson(name);
|
||||
}
|
||||
|
||||
private T GetItemFromSlugName<T>(ILibraryManager libraryManager, string name, DtoOptions dtoOptions)
|
||||
where T : BaseItem, new()
|
||||
{
|
||||
var result = libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
Name = name.Replace(BaseItem.SlugChar, '&'),
|
||||
IncludeItemTypes = new[] { typeof(T).Name },
|
||||
DtoOptions = dtoOptions
|
||||
|
||||
}).OfType<Person>().FirstOrDefault();
|
||||
|
||||
if (result == null)
|
||||
{
|
||||
result = libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
Name = name.Replace(BaseItem.SlugChar, '/'),
|
||||
IncludeItemTypes = new[] { typeof(T).Name },
|
||||
DtoOptions = dtoOptions
|
||||
|
||||
}).OfType<Person>().FirstOrDefault();
|
||||
}
|
||||
|
||||
if (result == null)
|
||||
{
|
||||
result = libraryManager.GetItemList(new InternalItemsQuery
|
||||
{
|
||||
Name = name.Replace(BaseItem.SlugChar, '?'),
|
||||
IncludeItemTypes = new[] { typeof(T).Name },
|
||||
DtoOptions = dtoOptions
|
||||
|
||||
}).OfType<Person>().FirstOrDefault();
|
||||
}
|
||||
|
||||
return result as T;
|
||||
}
|
||||
|
||||
protected string GetPathValue(int index)
|
||||
{
|
||||
var pathInfo = Parse(Request.PathInfo);
|
||||
|
||||
Reference in New Issue
Block a user