Vanguard media stack: ingest, copyparty, Syncthing, normalize sweep, Authentik, Jellyfin + Vanguard Metadata plugin, MariaDB, Gitea, bot runtime
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
using Jellyfin.Plugin.Vanguard.Configuration;
|
||||
using Jellyfin.Plugin.Vanguard.Seasons;
|
||||
using MediaBrowser.Controller.Entities.TV;
|
||||
using MediaBrowser.Controller.Providers;
|
||||
using MediaBrowser.Model.Providers;
|
||||
|
||||
namespace Jellyfin.Plugin.Vanguard.Providers;
|
||||
|
||||
/// <summary>Names a season from its number: "Thursday, Oct 29", "Week 44", "October 2026", "2026" or an override.</summary>
|
||||
public sealed class VanguardSeasonProvider : IRemoteMetadataProvider<Season, SeasonInfo>, IHasOrder
|
||||
{
|
||||
private readonly IHttpClientFactory _http;
|
||||
public VanguardSeasonProvider(IHttpClientFactory http) { _http = http; }
|
||||
|
||||
public string Name => "Vanguard Metadata";
|
||||
public int Order => 0;
|
||||
|
||||
public Task<MetadataResult<Season>> GetMetadata(SeasonInfo info, CancellationToken ct)
|
||||
{
|
||||
var result = new MetadataResult<Season>();
|
||||
if (!info.IndexNumber.HasValue) return Task.FromResult(result);
|
||||
var cfg = Plugin.Instance?.Configuration ?? new PluginConfiguration();
|
||||
var d = SeasonPolicy.Describe(info.IndexNumber.Value, SeasonPolicy.ParseOverrides(cfg.SeasonNameOverrides));
|
||||
if (d is null) return Task.FromResult(result);
|
||||
result.Item = new Season { Name = d.Value.Name, IndexNumber = info.IndexNumber };
|
||||
result.HasMetadata = true;
|
||||
return Task.FromResult(result);
|
||||
}
|
||||
|
||||
public Task<IEnumerable<RemoteSearchResult>> GetSearchResults(SeasonInfo searchInfo, CancellationToken ct) =>
|
||||
Task.FromResult<IEnumerable<RemoteSearchResult>>([]);
|
||||
|
||||
public Task<HttpResponseMessage> GetImageResponse(string url, CancellationToken ct) =>
|
||||
_http.CreateClient(MediaBrowser.Common.Net.NamedClient.Default).GetAsync(url, ct);
|
||||
}
|
||||
Reference in New Issue
Block a user