mirror of
https://github.com/Jackett/Jackett.git
synced 2025-09-17 17:34:09 +02:00
Allow configuration of omdb url (#3353)
OMDB recently added a private.omdbapi.com domain for supporters and this option allows the user to customize it while also allowing that url to change more rapidly in the future
This commit is contained in:

committed by
flightlevel

parent
2fac90df9f
commit
0026a4f26e
@@ -87,6 +87,7 @@ function loadJackettSettings() {
|
||||
$("#jackett-prerelease").attr('checked', data.prerelease);
|
||||
$("#jackett-logging").attr('checked', data.logging);
|
||||
$("#jackett-omdbkey").val(data.omdbkey);
|
||||
$("#jackett-omdburl").val(data.omdburl);
|
||||
var password = data.password;
|
||||
$("#jackett-adminpwd").val(password);
|
||||
if (password != null && password != '') {
|
||||
@@ -1150,6 +1151,7 @@ function bindUIButtons() {
|
||||
var jackett_prerelease = $("#jackett-prerelease").is(':checked');
|
||||
var jackett_logging = $("#jackett-logging").is(':checked');
|
||||
var jackett_omdb_key = $("#jackett-omdbkey").val();
|
||||
var jackett_omdb_url = $("#jackett-omdburl").val();
|
||||
|
||||
var jackett_proxy_url = $("#jackett-proxy-url").val();
|
||||
var jackett_proxy_type = $("#jackett-proxy-type").val();
|
||||
@@ -1166,6 +1168,7 @@ function bindUIButtons() {
|
||||
logging: jackett_logging,
|
||||
basepathoverride: jackett_basepathoverride,
|
||||
omdbkey: jackett_omdb_key,
|
||||
omdburl: jackett_omdb_url,
|
||||
proxy_type: jackett_proxy_type,
|
||||
proxy_url: jackett_proxy_url,
|
||||
proxy_port: jackett_proxy_port,
|
||||
|
@@ -177,6 +177,10 @@
|
||||
<span class="input-header">OMDB API key: </span>
|
||||
<input id="jackett-omdbkey" class="form-control input-right" type="text" value="" placeholder="">
|
||||
</div>
|
||||
<div class="input-area">
|
||||
<span class="input-header">OMDB API Url: </span>
|
||||
<input id="jackett-omdburl" class="form-control input-right" type="text" value="" placeholder="http://omdbiapi.com">
|
||||
</div>
|
||||
<hr />
|
||||
<div id="footer">
|
||||
<a href="https://github.com/Jackett/Jackett" target="_blank" title="Jackett on GitHub">Jackett</a> Version <span id="app-version"></span>
|
||||
|
@@ -27,6 +27,7 @@ namespace Jackett.Common.Models.Config
|
||||
public bool UpdatePrerelease { get; set; }
|
||||
public string BasePathOverride { get; set; }
|
||||
public string OmdbApiKey { get; set; }
|
||||
public string OmdbApiUrl { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Ignore as we don't really want to be saving settings specified in the command line.
|
||||
|
@@ -30,6 +30,8 @@ namespace Jackett.Common.Models.DTO
|
||||
[DataMember]
|
||||
public string omdbkey { get; set; }
|
||||
[DataMember]
|
||||
public string omdburl { get; set; }
|
||||
[DataMember]
|
||||
public string app_version { get; set; }
|
||||
|
||||
[DataMember]
|
||||
@@ -61,6 +63,7 @@ namespace Jackett.Common.Models.DTO
|
||||
logging = config.RuntimeSettings.TracingEnabled;
|
||||
basepathoverride = config.BasePathOverride;
|
||||
omdbkey = config.OmdbApiKey;
|
||||
omdburl = config.OmdbApiUrl;
|
||||
app_version = version;
|
||||
|
||||
proxy_type = config.ProxyType;
|
||||
|
@@ -17,10 +17,11 @@ namespace Jackett.Common.Services
|
||||
|
||||
public class OmdbResolver : IImdbResolver
|
||||
{
|
||||
public OmdbResolver(WebClient webClient, NonNull<string> omdbApiKey)
|
||||
public OmdbResolver(WebClient webClient, NonNull<string> omdbApiKey, string omdbApiUrl)
|
||||
{
|
||||
WebClient = webClient;
|
||||
apiKey = omdbApiKey;
|
||||
url = omdbApiUrl;
|
||||
}
|
||||
|
||||
public async Task<Movie> MovieForId(NonNull<string> id)
|
||||
@@ -30,7 +31,10 @@ namespace Jackett.Common.Services
|
||||
if (!imdbId.StartsWith("tt", StringComparison.Ordinal))
|
||||
imdbId = "tt" + imdbId;
|
||||
|
||||
var request = new WebRequest("http://omdbapi.com/?apikey=" + apiKey + "&i=" + imdbId);
|
||||
if (string.IsNullOrWhiteSpace(url))
|
||||
url = "http://omdbapi.com";
|
||||
|
||||
var request = new WebRequest(url + "/?apikey=" + apiKey + "&i=" + imdbId);
|
||||
request.Encoding = Encoding.UTF8;
|
||||
var result = await WebClient.GetString(request);
|
||||
var movie = JsonConvert.DeserializeObject<Movie>(result.Content);
|
||||
@@ -40,5 +44,6 @@ namespace Jackett.Common.Services
|
||||
|
||||
private WebClient WebClient;
|
||||
private string apiKey;
|
||||
private string url;
|
||||
}
|
||||
}
|
||||
|
@@ -160,7 +160,7 @@ namespace Jackett.Common.Services
|
||||
IResultFilterProvider resultFilterProvider = null;
|
||||
if (!omdbApiKey.IsNullOrEmptyOrWhitespace())
|
||||
{
|
||||
var imdbResolver = new OmdbResolver(webClient, omdbApiKey.ToNonNull());
|
||||
var imdbResolver = new OmdbResolver(webClient, omdbApiKey.ToNonNull(), serverConfig.OmdbApiUrl);
|
||||
fallbackStrategyProvider = new ImdbFallbackStrategyProvider(imdbResolver);
|
||||
resultFilterProvider = new ImdbTitleResultFilterProvider(imdbResolver);
|
||||
}
|
||||
|
@@ -91,6 +91,7 @@ namespace Jackett.Controllers
|
||||
}
|
||||
|
||||
string omdbApiKey = config.omdbkey;
|
||||
string omdbApiUrl = config.omdburl;
|
||||
|
||||
serverConfig.UpdateDisabled = updateDisabled;
|
||||
serverConfig.UpdatePrerelease = preRelease;
|
||||
@@ -101,9 +102,10 @@ namespace Jackett.Controllers
|
||||
Engine.SetLogLevel(logging ? LogLevel.Debug : LogLevel.Info);
|
||||
serverConfig.RuntimeSettings.TracingEnabled = logging;
|
||||
|
||||
if (omdbApiKey != serverConfig.OmdbApiKey)
|
||||
if (omdbApiKey != serverConfig.OmdbApiKey || omdbApiUrl != serverConfig.OmdbApiUrl)
|
||||
{
|
||||
serverConfig.OmdbApiKey = omdbApiKey;
|
||||
serverConfig.OmdbApiUrl = omdbApiUrl.TrimEnd('/');
|
||||
configService.SaveConfig(serverConfig);
|
||||
// HACK
|
||||
indexerService.InitAggregateIndexer();
|
||||
|
Reference in New Issue
Block a user