mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-07-08 02:34:19 -04:00
use the custom server for external ids
This commit is contained in:
parent
4ae80a5d56
commit
e80444d11b
@ -1,13 +1,41 @@
|
|||||||
using System.Collections.Generic;
|
using MediaBrowser.Model.Plugins;
|
||||||
using MediaBrowser.Model.Plugins;
|
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Plugins.MusicBrainz
|
namespace MediaBrowser.Providers.Plugins.MusicBrainz
|
||||||
{
|
{
|
||||||
public class PluginConfiguration : BasePluginConfiguration
|
public class PluginConfiguration : BasePluginConfiguration
|
||||||
{
|
{
|
||||||
public string Server { get; set; } = "https://www.musicbrainz.org";
|
private string server = Plugin.Instance.DefaultServer;
|
||||||
|
|
||||||
public long RateLimit { get; set; } = 1000u;
|
private long rateLimit = Plugin.Instance.DefaultRateLimit;
|
||||||
|
|
||||||
|
public string Server
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return server;
|
||||||
|
}
|
||||||
|
|
||||||
|
set
|
||||||
|
{
|
||||||
|
server = value.TrimEnd('/');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public long RateLimit
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return rateLimit;
|
||||||
|
}
|
||||||
|
|
||||||
|
set
|
||||||
|
{
|
||||||
|
if (value < 2000u && server == Plugin.Instance.DefaultServer)
|
||||||
|
{
|
||||||
|
RateLimit = Plugin.Instance.DefaultRateLimit;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public bool Enable { get; set; }
|
public bool Enable { get; set; }
|
||||||
|
|
||||||
|
@ -9,12 +9,12 @@
|
|||||||
<div class="content-primary">
|
<div class="content-primary">
|
||||||
<form class="musicBrainzConfigForm">
|
<form class="musicBrainzConfigForm">
|
||||||
<div class="inputContainer">
|
<div class="inputContainer">
|
||||||
<input is="emby-input" type="text" id="server" label="Server:" />
|
<input is="emby-input" type="text" id="server" required label="Server" />
|
||||||
<div class="fieldDescription">This can either be a mirror of the official server or a custom server.</div>
|
<div class="fieldDescription">This can be a mirror of the official server or even a custom server.</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="inputContainer">
|
<div class="inputContainer">
|
||||||
<input is="emby-input" type="number" id="rateLimit" pattern="[0-9]*" required min="400" max="10000" label="Rate Limit:" />
|
<input is="emby-input" type="number" id="rateLimit" pattern="[0-9]*" required min="0" max="10000" label="Rate Limit" />
|
||||||
<div class="fieldDescription">Span of time between each request in milliseconds.</div>
|
<div class="fieldDescription">Span of time between requests in milliseconds. The official server is limited to one request every two seconds.</div>
|
||||||
</div>
|
</div>
|
||||||
<label class="checkboxContainer">
|
<label class="checkboxContainer">
|
||||||
<input is="emby-checkbox" type="checkbox" id="enable" />
|
<input is="emby-checkbox" type="checkbox" id="enable" />
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
using MediaBrowser.Controller.Entities.Audio;
|
using MediaBrowser.Controller.Entities.Audio;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
|
using MediaBrowser.Providers.Plugins.MusicBrainz;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Music
|
namespace MediaBrowser.Providers.Music
|
||||||
{
|
{
|
||||||
@ -13,11 +14,10 @@ namespace MediaBrowser.Providers.Music
|
|||||||
public string Key => MetadataProviders.MusicBrainzReleaseGroup.ToString();
|
public string Key => MetadataProviders.MusicBrainzReleaseGroup.ToString();
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string UrlFormatString => "https://musicbrainz.org/release-group/{0}";
|
public string UrlFormatString => Plugin.Instance.Configuration.Server + "/release-group/{0}";
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool Supports(IHasProviderIds item)
|
public bool Supports(IHasProviderIds item) => item is Audio || item is MusicAlbum;
|
||||||
=> item is Audio || item is MusicAlbum;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MusicBrainzAlbumArtistExternalId : IExternalId
|
public class MusicBrainzAlbumArtistExternalId : IExternalId
|
||||||
@ -29,11 +29,10 @@ namespace MediaBrowser.Providers.Music
|
|||||||
public string Key => MetadataProviders.MusicBrainzAlbumArtist.ToString();
|
public string Key => MetadataProviders.MusicBrainzAlbumArtist.ToString();
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string UrlFormatString => "https://musicbrainz.org/artist/{0}";
|
public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}";
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool Supports(IHasProviderIds item)
|
public bool Supports(IHasProviderIds item) => item is Audio;
|
||||||
=> item is Audio;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MusicBrainzAlbumExternalId : IExternalId
|
public class MusicBrainzAlbumExternalId : IExternalId
|
||||||
@ -45,11 +44,10 @@ namespace MediaBrowser.Providers.Music
|
|||||||
public string Key => MetadataProviders.MusicBrainzAlbum.ToString();
|
public string Key => MetadataProviders.MusicBrainzAlbum.ToString();
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string UrlFormatString => "https://musicbrainz.org/release/{0}";
|
public string UrlFormatString => Plugin.Instance.Configuration.Server + "/release/{0}";
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool Supports(IHasProviderIds item)
|
public bool Supports(IHasProviderIds item) => item is Audio || item is MusicAlbum;
|
||||||
=> item is Audio || item is MusicAlbum;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MusicBrainzArtistExternalId : IExternalId
|
public class MusicBrainzArtistExternalId : IExternalId
|
||||||
@ -61,7 +59,7 @@ namespace MediaBrowser.Providers.Music
|
|||||||
public string Key => MetadataProviders.MusicBrainzArtist.ToString();
|
public string Key => MetadataProviders.MusicBrainzArtist.ToString();
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string UrlFormatString => "https://musicbrainz.org/artist/{0}";
|
public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}";
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool Supports(IHasProviderIds item) => item is MusicArtist;
|
public bool Supports(IHasProviderIds item) => item is MusicArtist;
|
||||||
@ -77,11 +75,10 @@ namespace MediaBrowser.Providers.Music
|
|||||||
public string Key => MetadataProviders.MusicBrainzArtist.ToString();
|
public string Key => MetadataProviders.MusicBrainzArtist.ToString();
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string UrlFormatString => "https://musicbrainz.org/artist/{0}";
|
public string UrlFormatString => Plugin.Instance.Configuration.Server + "/artist/{0}";
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool Supports(IHasProviderIds item)
|
public bool Supports(IHasProviderIds item) => item is Audio || item is MusicAlbum;
|
||||||
=> item is Audio || item is MusicAlbum;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public class MusicBrainzTrackId : IExternalId
|
public class MusicBrainzTrackId : IExternalId
|
||||||
@ -93,7 +90,7 @@ namespace MediaBrowser.Providers.Music
|
|||||||
public string Key => MetadataProviders.MusicBrainzTrack.ToString();
|
public string Key => MetadataProviders.MusicBrainzTrack.ToString();
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public string UrlFormatString => "https://musicbrainz.org/track/{0}";
|
public string UrlFormatString => Plugin.Instance.Configuration.Server + "/track/{0}";
|
||||||
|
|
||||||
/// <inheritdoc />
|
/// <inheritdoc />
|
||||||
public bool Supports(IHasProviderIds item) => item is Audio;
|
public bool Supports(IHasProviderIds item) => item is Audio;
|
||||||
|
@ -9,6 +9,18 @@ namespace MediaBrowser.Providers.Plugins.MusicBrainz
|
|||||||
{
|
{
|
||||||
public class Plugin : BasePlugin<PluginConfiguration>, IHasWebPages
|
public class Plugin : BasePlugin<PluginConfiguration>, IHasWebPages
|
||||||
{
|
{
|
||||||
|
public static Plugin Instance { get; private set; }
|
||||||
|
|
||||||
|
public override Guid Id => new Guid("8c95c4d2-e50c-4fb0-a4f3-6c06ff0f9a1a");
|
||||||
|
|
||||||
|
public override string Name => "MusicBrainz";
|
||||||
|
|
||||||
|
public override string Description => "Get artist and album metadata from any MusicBrainz server.";
|
||||||
|
|
||||||
|
public string DefaultServer = "https://musicbrainz.org";
|
||||||
|
|
||||||
|
public long DefaultRateLimit = 2000u;
|
||||||
|
|
||||||
public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer)
|
public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer)
|
||||||
: base(applicationPaths, xmlSerializer)
|
: base(applicationPaths, xmlSerializer)
|
||||||
{
|
{
|
||||||
@ -23,13 +35,5 @@ namespace MediaBrowser.Providers.Plugins.MusicBrainz
|
|||||||
EmbeddedResourcePath = GetType().Namespace + ".Configuration.config.html"
|
EmbeddedResourcePath = GetType().Namespace + ".Configuration.config.html"
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public override Guid Id => new Guid("8c95c4d2-e50c-4fb0-a4f3-6c06ff0f9a1a");
|
|
||||||
|
|
||||||
public override string Name => "MusicBrainz";
|
|
||||||
|
|
||||||
public override string Description => "Get artist and album metadata from any MusicBrainz server.";
|
|
||||||
|
|
||||||
public static Plugin Instance { get; private set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user