mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-07-03 12:52:56 +01:00
Support anime series ordering with core providers
This commit is contained in:
36
MediaBrowser.Providers/Manager/SeriesOrderManager.cs
Normal file
36
MediaBrowser.Providers/Manager/SeriesOrderManager.cs
Normal file
@@ -0,0 +1,36 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Threading.Tasks;
|
||||
using MediaBrowser.Common;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
|
||||
namespace MediaBrowser.Providers.Manager
|
||||
{
|
||||
public class SeriesOrderManager : ISeriesOrderManager
|
||||
{
|
||||
private Dictionary<string, ISeriesOrderProvider[]> _providers;
|
||||
|
||||
public void AddParts(IEnumerable<ISeriesOrderProvider> orderProviders)
|
||||
{
|
||||
_providers = orderProviders
|
||||
.GroupBy(p => p.OrderType)
|
||||
.ToDictionary(g => g.Key, g => g.ToArray());
|
||||
}
|
||||
|
||||
public async Task<int?> FindSeriesIndex(string orderType, string seriesName)
|
||||
{
|
||||
ISeriesOrderProvider[] providers;
|
||||
if (!_providers.TryGetValue(orderType, out providers))
|
||||
return null;
|
||||
|
||||
foreach (ISeriesOrderProvider provider in providers)
|
||||
{
|
||||
int? index = await provider.FindSeriesIndex(seriesName);
|
||||
if (index != null)
|
||||
return index;
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user