mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-06-02 13:58:29 +01:00
Move external url listing to provider for plugin use (#12279)
This commit is contained in:
@@ -2497,11 +2497,6 @@ namespace MediaBrowser.Controller.Entities
|
||||
return new[] { Id };
|
||||
}
|
||||
|
||||
public virtual List<ExternalUrl> GetRelatedUrls()
|
||||
{
|
||||
return new List<ExternalUrl>();
|
||||
}
|
||||
|
||||
public virtual double? GetRefreshProgress()
|
||||
{
|
||||
return null;
|
||||
|
||||
@@ -121,23 +121,5 @@ namespace MediaBrowser.Controller.Entities.Movies
|
||||
|
||||
return hasChanges;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override List<ExternalUrl> GetRelatedUrls()
|
||||
{
|
||||
var list = base.GetRelatedUrls();
|
||||
|
||||
var imdbId = this.GetProviderId(MetadataProvider.Imdb);
|
||||
if (!string.IsNullOrEmpty(imdbId))
|
||||
{
|
||||
list.Add(new ExternalUrl
|
||||
{
|
||||
Name = "Trakt",
|
||||
Url = string.Format(CultureInfo.InvariantCulture, "https://trakt.tv/movies/{0}", imdbId)
|
||||
});
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -344,22 +344,5 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
|
||||
return hasChanges;
|
||||
}
|
||||
|
||||
public override List<ExternalUrl> GetRelatedUrls()
|
||||
{
|
||||
var list = base.GetRelatedUrls();
|
||||
|
||||
var imdbId = this.GetProviderId(MetadataProvider.Imdb);
|
||||
if (!string.IsNullOrEmpty(imdbId))
|
||||
{
|
||||
list.Add(new ExternalUrl
|
||||
{
|
||||
Name = "Trakt",
|
||||
Url = string.Format(CultureInfo.InvariantCulture, "https://trakt.tv/episodes/{0}", imdbId)
|
||||
});
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -482,22 +482,5 @@ namespace MediaBrowser.Controller.Entities.TV
|
||||
|
||||
return hasChanges;
|
||||
}
|
||||
|
||||
public override List<ExternalUrl> GetRelatedUrls()
|
||||
{
|
||||
var list = base.GetRelatedUrls();
|
||||
|
||||
var imdbId = this.GetProviderId(MetadataProvider.Imdb);
|
||||
if (!string.IsNullOrEmpty(imdbId))
|
||||
{
|
||||
list.Add(new ExternalUrl
|
||||
{
|
||||
Name = "Trakt",
|
||||
Url = string.Format(CultureInfo.InvariantCulture, "https://trakt.tv/shows/{0}", imdbId)
|
||||
});
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -80,22 +80,5 @@ namespace MediaBrowser.Controller.Entities
|
||||
|
||||
return hasChanges;
|
||||
}
|
||||
|
||||
public override List<ExternalUrl> GetRelatedUrls()
|
||||
{
|
||||
var list = base.GetRelatedUrls();
|
||||
|
||||
var imdbId = this.GetProviderId(MetadataProvider.Imdb);
|
||||
if (!string.IsNullOrEmpty(imdbId))
|
||||
{
|
||||
list.Add(new ExternalUrl
|
||||
{
|
||||
Name = "Trakt",
|
||||
Url = string.Format(CultureInfo.InvariantCulture, "https://trakt.tv/movies/{0}", imdbId)
|
||||
});
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -254,25 +254,5 @@ namespace MediaBrowser.Controller.LiveTv
|
||||
|
||||
return name;
|
||||
}
|
||||
|
||||
public override List<ExternalUrl> GetRelatedUrls()
|
||||
{
|
||||
var list = base.GetRelatedUrls();
|
||||
|
||||
var imdbId = this.GetProviderId(MetadataProvider.Imdb);
|
||||
if (!string.IsNullOrEmpty(imdbId))
|
||||
{
|
||||
if (IsMovie)
|
||||
{
|
||||
list.Add(new ExternalUrl
|
||||
{
|
||||
Name = "Trakt",
|
||||
Url = string.Format(CultureInfo.InvariantCulture, "https://trakt.tv/movies/{0}", imdbId)
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
return list;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
using System;
|
||||
using MediaBrowser.Model.Entities;
|
||||
using MediaBrowser.Model.Providers;
|
||||
|
||||
@@ -33,6 +34,7 @@ namespace MediaBrowser.Controller.Providers
|
||||
/// <summary>
|
||||
/// Gets the URL format string for this id.
|
||||
/// </summary>
|
||||
[Obsolete("Obsolete in 10.10, to be removed in 10.11")]
|
||||
string? UrlFormatString { get; }
|
||||
|
||||
/// <summary>
|
||||
|
||||
22
MediaBrowser.Controller/Providers/IExternalUrlProvider.cs
Normal file
22
MediaBrowser.Controller/Providers/IExternalUrlProvider.cs
Normal file
@@ -0,0 +1,22 @@
|
||||
using System.Collections.Generic;
|
||||
using MediaBrowser.Controller.Entities;
|
||||
|
||||
namespace MediaBrowser.Controller.Providers;
|
||||
|
||||
/// <summary>
|
||||
/// Interface to include related urls for an item.
|
||||
/// </summary>
|
||||
public interface IExternalUrlProvider
|
||||
{
|
||||
/// <summary>
|
||||
/// Gets the external service name.
|
||||
/// </summary>
|
||||
string Name { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Get the list of external urls.
|
||||
/// </summary>
|
||||
/// <param name="item">The item to get external urls for.</param>
|
||||
/// <returns>The list of external urls.</returns>
|
||||
IEnumerable<string> GetExternalUrls(BaseItem item);
|
||||
}
|
||||
@@ -99,12 +99,14 @@ namespace MediaBrowser.Controller.Providers
|
||||
/// <param name="metadataProviders">Metadata providers to use.</param>
|
||||
/// <param name="metadataSavers">Metadata savers to use.</param>
|
||||
/// <param name="externalIds">External IDs to use.</param>
|
||||
/// <param name="externalUrlProviders">The list of external url providers.</param>
|
||||
void AddParts(
|
||||
IEnumerable<IImageProvider> imageProviders,
|
||||
IEnumerable<IMetadataService> metadataServices,
|
||||
IEnumerable<IMetadataProvider> metadataProviders,
|
||||
IEnumerable<IMetadataSaver> metadataSavers,
|
||||
IEnumerable<IExternalId> externalIds);
|
||||
IEnumerable<IExternalId> externalIds,
|
||||
IEnumerable<IExternalUrlProvider> externalUrlProviders);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the available remote images.
|
||||
|
||||
Reference in New Issue
Block a user