mirror of
https://github.com/Prowlarr/Prowlarr.git
synced 2025-09-17 17:14:18 +02:00
Added Indexer Factory
This commit is contained in:
@@ -6,24 +6,28 @@ using Newtonsoft.Json;
|
|||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
using NLog;
|
using NLog;
|
||||||
using NzbDrone.Common.Http;
|
using NzbDrone.Common.Http;
|
||||||
|
using NzbDrone.Core.Indexers;
|
||||||
|
|
||||||
namespace NzbDrone.Core.Migration
|
namespace NzbDrone.Core.Migration
|
||||||
{
|
{
|
||||||
public interface IJackettMigrationService
|
public interface IJackettMigrationService
|
||||||
{
|
{
|
||||||
List<JackettIndexerDefinition> GetJackettIndexers(string jackettPath, string jackettApi);
|
List<JackettIndexerDefinition> GetJackettIndexers(string jackettPath, string jackettApi);
|
||||||
JackettIndexerConfigDefintion GetJackettIndexerConfig(JackettIndexerDefinition jackettIndexerDefinition, string jackettPath, string jackettApi);
|
List<JackettIndexerConfigDefintion> GetJackettIndexerConfig(JackettIndexerDefinition jackettIndexerDefinition, string jackettPath, string jackettApi);
|
||||||
void MigrateJackettIndexer(JackettIndexerDefinition jackettIndexer, JackettIndexerConfigDefintion jackettIndexerConfig);
|
void MigrateJackettIndexer(JackettIndexerDefinition jackettIndexer, List<JackettIndexerConfigDefintion> jackettIndexerConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
public class JackettMigrationService : IJackettMigrationService
|
public class JackettMigrationService : IJackettMigrationService
|
||||||
{
|
{
|
||||||
|
private readonly IIndexerFactory _indexerFactory;
|
||||||
private readonly Logger _logger;
|
private readonly Logger _logger;
|
||||||
public IHttpClient HttpClient { get; set; }
|
public IHttpClient HttpClient { get; set; }
|
||||||
public IHttpRequestBuilderFactory RequestBuilder { get; set; }
|
public IHttpRequestBuilderFactory RequestBuilder { get; set; }
|
||||||
public JackettMigrationService(Logger logger)
|
|
||||||
|
public JackettMigrationService(IIndexerFactory indexerFactory, Logger logger)
|
||||||
{
|
{
|
||||||
_logger = logger;
|
_logger = logger;
|
||||||
|
_indexerFactory = indexerFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
public List<JackettIndexerDefinition> GetJackettIndexers(string jackettPath, string jackettApi)
|
public List<JackettIndexerDefinition> GetJackettIndexers(string jackettPath, string jackettApi)
|
||||||
@@ -37,18 +41,18 @@ namespace NzbDrone.Core.Migration
|
|||||||
return jsonResponse;
|
return jsonResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
public JackettIndexerConfigDefintion GetJackettIndexerConfig(JackettIndexerDefinition jackettIndexerDefinition, string jackettPath, string jackettApi)
|
public List<JackettIndexerConfigDefintion> GetJackettIndexerConfig(JackettIndexerDefinition jackettIndexerDefinition, string jackettPath, string jackettApi)
|
||||||
{
|
{
|
||||||
_logger.Debug($"Getting config from Jackett for {jackettIndexerDefinition.Name}");
|
_logger.Debug($"Getting config from Jackett for {jackettIndexerDefinition.Name}");
|
||||||
|
|
||||||
var requestBuilder = BuildRequest(jackettPath, jackettApi, jackettIndexerDefinition.Id);
|
var requestBuilder = BuildRequest(jackettPath, jackettApi, jackettIndexerDefinition.Id);
|
||||||
|
|
||||||
var jsonResponse = JsonConvert.DeserializeObject<JackettIndexerConfigDefintion>(HttpClient.Execute(requestBuilder.Build()).Content);
|
var jsonResponse = JsonConvert.DeserializeObject<List<JackettIndexerConfigDefintion>>(HttpClient.Execute(requestBuilder.Build()).Content);
|
||||||
|
|
||||||
return jsonResponse;
|
return jsonResponse;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void MigrateJackettIndexer(JackettIndexerDefinition jackettIndexer, JackettIndexerConfigDefintion jackettIndexerConfig)
|
public void MigrateJackettIndexer(JackettIndexerDefinition jackettIndexer, List<JackettIndexerConfigDefintion> jackettIndexerConfig)
|
||||||
{
|
{
|
||||||
_logger.Info($"Creating {jackettIndexer.Name} in Prowlarr");
|
_logger.Info($"Creating {jackettIndexer.Name} in Prowlarr");
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user