mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-23 17:24:46 +03:00
Fully async'd xml parsing process as well as added resolver and provider priorities
This commit is contained in:
parent
19a4dd83c2
commit
8f024e8199
@@ -59,8 +59,8 @@ namespace MediaBrowser.Controller.Library
|
||||
|
||||
private async Task<BaseItem> ResolveItem(ItemResolveEventArgs args)
|
||||
{
|
||||
// If that didn't pan out, try the slow ones
|
||||
foreach (IBaseItemResolver resolver in Kernel.Instance.EntityResolvers)
|
||||
// Try first priority resolvers
|
||||
foreach (IBaseItemResolver resolver in Kernel.Instance.EntityResolvers.Where(p => p.Priority == ResolverPriority.First))
|
||||
{
|
||||
var item = await resolver.ResolvePath(args);
|
||||
|
||||
@@ -70,6 +70,39 @@ namespace MediaBrowser.Controller.Library
|
||||
}
|
||||
}
|
||||
|
||||
// Try second priority resolvers
|
||||
foreach (IBaseItemResolver resolver in Kernel.Instance.EntityResolvers.Where(p => p.Priority == ResolverPriority.Second))
|
||||
{
|
||||
var item = await resolver.ResolvePath(args);
|
||||
|
||||
if (item != null)
|
||||
{
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
||||
// Try third priority resolvers
|
||||
foreach (IBaseItemResolver resolver in Kernel.Instance.EntityResolvers.Where(p => p.Priority == ResolverPriority.Third))
|
||||
{
|
||||
var item = await resolver.ResolvePath(args);
|
||||
|
||||
if (item != null)
|
||||
{
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
||||
// Try last priority resolvers
|
||||
foreach (IBaseItemResolver resolver in Kernel.Instance.EntityResolvers.Where(p => p.Priority == ResolverPriority.Last))
|
||||
{
|
||||
var item = await resolver.ResolvePath(args);
|
||||
|
||||
if (item != null)
|
||||
{
|
||||
return item;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -153,7 +186,7 @@ namespace MediaBrowser.Controller.Library
|
||||
}
|
||||
|
||||
BaseItem[] baseItemChildren = await Task<BaseItem>.WhenAll(tasks);
|
||||
|
||||
|
||||
// Sort them
|
||||
folder.Children = baseItemChildren.Where(i => i != null).OrderBy(f =>
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user