|
|
@ -1,6 +1,7 @@
|
|
|
|
using System.Linq;
|
|
|
|
using System.Linq;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
using Microsoft.Extensions.Logging;
|
|
|
|
|
|
|
|
using Ombi.Api.CouchPotato;
|
|
|
|
using Ombi.Api.DogNzb.Models;
|
|
|
|
using Ombi.Api.DogNzb.Models;
|
|
|
|
using Ombi.Api.Radarr;
|
|
|
|
using Ombi.Api.Radarr;
|
|
|
|
using Ombi.Core.Settings;
|
|
|
|
using Ombi.Core.Settings;
|
|
|
@ -14,13 +15,16 @@ namespace Ombi.Core.Senders
|
|
|
|
public class MovieSender : IMovieSender
|
|
|
|
public class MovieSender : IMovieSender
|
|
|
|
{
|
|
|
|
{
|
|
|
|
public MovieSender(ISettingsService<RadarrSettings> radarrSettings, IRadarrApi api, ILogger<MovieSender> log,
|
|
|
|
public MovieSender(ISettingsService<RadarrSettings> radarrSettings, IRadarrApi api, ILogger<MovieSender> log,
|
|
|
|
ISettingsService<DogNzbSettings> dogSettings, IDogNzbApi dogApi)
|
|
|
|
ISettingsService<DogNzbSettings> dogSettings, IDogNzbApi dogApi, ISettingsService<CouchPotatoSettings> cpSettings,
|
|
|
|
|
|
|
|
ICouchPotatoApi cpApi)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
RadarrSettings = radarrSettings;
|
|
|
|
RadarrSettings = radarrSettings;
|
|
|
|
RadarrApi = api;
|
|
|
|
RadarrApi = api;
|
|
|
|
Log = log;
|
|
|
|
Log = log;
|
|
|
|
DogNzbSettings = dogSettings;
|
|
|
|
DogNzbSettings = dogSettings;
|
|
|
|
DogNzbApi = dogApi;
|
|
|
|
DogNzbApi = dogApi;
|
|
|
|
|
|
|
|
CouchPotatoSettings = cpSettings;
|
|
|
|
|
|
|
|
CouchPotatoApi = cpApi;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private ISettingsService<RadarrSettings> RadarrSettings { get; }
|
|
|
|
private ISettingsService<RadarrSettings> RadarrSettings { get; }
|
|
|
@ -28,10 +32,12 @@ namespace Ombi.Core.Senders
|
|
|
|
private ILogger<MovieSender> Log { get; }
|
|
|
|
private ILogger<MovieSender> Log { get; }
|
|
|
|
private IDogNzbApi DogNzbApi { get; }
|
|
|
|
private IDogNzbApi DogNzbApi { get; }
|
|
|
|
private ISettingsService<DogNzbSettings> DogNzbSettings { get; }
|
|
|
|
private ISettingsService<DogNzbSettings> DogNzbSettings { get; }
|
|
|
|
|
|
|
|
private ISettingsService<CouchPotatoSettings> CouchPotatoSettings { get; }
|
|
|
|
|
|
|
|
private ICouchPotatoApi CouchPotatoApi { get; }
|
|
|
|
|
|
|
|
|
|
|
|
public async Task<SenderResult> Send(MovieRequests model)
|
|
|
|
public async Task<SenderResult> Send(MovieRequests model)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
//var cpSettings = await CouchPotatoSettings.GetSettingsAsync();
|
|
|
|
var cpSettings = await CouchPotatoSettings.GetSettingsAsync();
|
|
|
|
//var watcherSettings = await WatcherSettings.GetSettingsAsync();
|
|
|
|
//var watcherSettings = await WatcherSettings.GetSettingsAsync();
|
|
|
|
var radarrSettings = await RadarrSettings.GetSettingsAsync();
|
|
|
|
var radarrSettings = await RadarrSettings.GetSettingsAsync();
|
|
|
|
if (radarrSettings.Enabled)
|
|
|
|
if (radarrSettings.Enabled)
|
|
|
@ -50,10 +56,10 @@ namespace Ombi.Core.Senders
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//if (cpSettings.Enabled)
|
|
|
|
if (cpSettings.Enabled)
|
|
|
|
//{
|
|
|
|
{
|
|
|
|
// return SendToCp(model, cpSettings, string.IsNullOrEmpty(qualityId) ? cpSettings.ProfileId : qualityId);
|
|
|
|
return await SendToCp(model, cpSettings, cpSettings.DefaultProfileId);
|
|
|
|
//}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
//if (watcherSettings.Enabled)
|
|
|
|
//if (watcherSettings.Enabled)
|
|
|
|
//{
|
|
|
|
//{
|
|
|
@ -68,6 +74,12 @@ namespace Ombi.Core.Senders
|
|
|
|
};
|
|
|
|
};
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private async Task<SenderResult> SendToCp(FullBaseRequest model, CouchPotatoSettings cpSettings, string cpSettingsDefaultProfileId)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var result = await CouchPotatoApi.AddMovie(model.ImdbId, cpSettings.ApiKey, model.Title, cpSettings.FullUri, cpSettingsDefaultProfileId);
|
|
|
|
|
|
|
|
return new SenderResult { Success = result, Sent = true };
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private async Task<DogNzbMovieAddResult> SendToDogNzb(FullBaseRequest model, DogNzbSettings settings)
|
|
|
|
private async Task<DogNzbMovieAddResult> SendToDogNzb(FullBaseRequest model, DogNzbSettings settings)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var id = model.ImdbId;
|
|
|
|
var id = model.ImdbId;
|
|
|
|