mirror of
https://github.com/Radarr/Radarr
synced 2025-12-27 10:45:44 +01:00
Fixed: Cleanup NetImport Implementation
This commit is contained in:
parent
ba83c01b6c
commit
1c91c9939f
9 changed files with 32 additions and 49 deletions
|
|
@ -77,17 +77,17 @@ public CouchPotatoParser(CouchPotatoSettings settings)
|
|||
return movies;
|
||||
}
|
||||
|
||||
protected virtual bool PreProcess(NetImportResponse indexerResponse)
|
||||
protected virtual bool PreProcess(NetImportResponse netImportResponse)
|
||||
{
|
||||
if (indexerResponse.HttpResponse.StatusCode != HttpStatusCode.OK)
|
||||
if (netImportResponse.HttpResponse.StatusCode != HttpStatusCode.OK)
|
||||
{
|
||||
throw new NetImportException(indexerResponse, "Indexer API call resulted in an unexpected StatusCode [{0}]", indexerResponse.HttpResponse.StatusCode);
|
||||
throw new NetImportException(netImportResponse, "List API call resulted in an unexpected StatusCode [{0}]", netImportResponse.HttpResponse.StatusCode);
|
||||
}
|
||||
|
||||
if (indexerResponse.HttpResponse.Headers.ContentType != null && indexerResponse.HttpResponse.Headers.ContentType.Contains("text/json") &&
|
||||
indexerResponse.HttpRequest.Headers.Accept != null && !indexerResponse.HttpRequest.Headers.Accept.Contains("text/json"))
|
||||
if (netImportResponse.HttpResponse.Headers.ContentType != null && netImportResponse.HttpResponse.Headers.ContentType.Contains("text/json") &&
|
||||
netImportResponse.HttpRequest.Headers.Accept != null && !netImportResponse.HttpRequest.Headers.Accept.Contains("text/json"))
|
||||
{
|
||||
throw new NetImportException(indexerResponse, "Indexer responded with html content. Site is likely blocked or unavailable.");
|
||||
throw new NetImportException(netImportResponse, "List responded with html content. Site is likely blocked or unavailable.");
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -49,11 +49,9 @@ public virtual IEnumerable<ProviderDefinition> DefaultDefinitions
|
|||
|
||||
yield return new NetImportDefinition
|
||||
{
|
||||
Name = Name,
|
||||
Name = GetType().Name,
|
||||
Enabled = config.Validate().IsValid && Enabled,
|
||||
EnableAuto = true,
|
||||
ProfileId = 1,
|
||||
MinimumAvailability = MovieStatusType.Announced,
|
||||
Implementation = GetType().Name,
|
||||
Settings = config
|
||||
};
|
||||
|
|
|
|||
|
|
@ -32,8 +32,7 @@ public NetImportFactory(INetImportRepository providerRepository,
|
|||
|
||||
protected override List<NetImportDefinition> Active()
|
||||
{
|
||||
// return base.Active().Where(c => c.Enabled).ToList(); // use this for when/if we add a setting to enable/disable lists
|
||||
return base.Active().ToList();
|
||||
return base.Active().Where(c => c.Enabled).ToList();
|
||||
}
|
||||
|
||||
public override void SetProviderCharacteristics(INetImport provider, NetImportDefinition definition)
|
||||
|
|
|
|||
|
|
@ -3,13 +3,10 @@
|
|||
using NLog;
|
||||
using NzbDrone.Common.Extensions;
|
||||
using NzbDrone.Core.Configuration;
|
||||
using NzbDrone.Core.Download;
|
||||
using NzbDrone.Core.IndexerSearch;
|
||||
using NzbDrone.Core.Messaging.Commands;
|
||||
using NzbDrone.Core.MetadataSource;
|
||||
using NzbDrone.Core.Movies;
|
||||
using NzbDrone.Core.NetImport.ImportExclusions;
|
||||
using NzbDrone.Core.RootFolders;
|
||||
|
||||
namespace NzbDrone.Core.NetImport
|
||||
{
|
||||
|
|
@ -25,18 +22,12 @@ public class NetImportSearchService : IFetchNetImport, IExecute<NetImportSyncCom
|
|||
private readonly INetImportFactory _netImportFactory;
|
||||
private readonly IMovieService _movieService;
|
||||
private readonly ISearchForNewMovie _movieSearch;
|
||||
private readonly IRootFolderService _rootFolder;
|
||||
private readonly IConfigService _configService;
|
||||
private readonly ISearchForNzb _nzbSearchService;
|
||||
private readonly IProcessDownloadDecisions _processDownloadDecisions;
|
||||
private readonly IImportExclusionsService _exclusionService;
|
||||
|
||||
public NetImportSearchService(INetImportFactory netImportFactory,
|
||||
IMovieService movieService,
|
||||
ISearchForNewMovie movieSearch,
|
||||
IRootFolderService rootFolder,
|
||||
ISearchForNzb nzbSearchService,
|
||||
IProcessDownloadDecisions processDownloadDecisions,
|
||||
IConfigService configService,
|
||||
IImportExclusionsService exclusionService,
|
||||
Logger logger)
|
||||
|
|
@ -44,9 +35,6 @@ public NetImportSearchService(INetImportFactory netImportFactory,
|
|||
_netImportFactory = netImportFactory;
|
||||
_movieService = movieService;
|
||||
_movieSearch = movieSearch;
|
||||
_nzbSearchService = nzbSearchService;
|
||||
_processDownloadDecisions = processDownloadDecisions;
|
||||
_rootFolder = rootFolder;
|
||||
_exclusionService = exclusionService;
|
||||
_logger = logger;
|
||||
_configService = configService;
|
||||
|
|
|
|||
|
|
@ -105,17 +105,17 @@ protected virtual Movie CreateNewMovie()
|
|||
return new Movie();
|
||||
}
|
||||
|
||||
protected virtual bool PreProcess(NetImportResponse indexerResponse)
|
||||
protected virtual bool PreProcess(NetImportResponse netImportResponse)
|
||||
{
|
||||
if (indexerResponse.HttpResponse.StatusCode != HttpStatusCode.OK)
|
||||
if (netImportResponse.HttpResponse.StatusCode != HttpStatusCode.OK)
|
||||
{
|
||||
throw new NetImportException(indexerResponse, "Indexer API call resulted in an unexpected StatusCode [{0}]", indexerResponse.HttpResponse.StatusCode);
|
||||
throw new NetImportException(netImportResponse, "List API call resulted in an unexpected StatusCode [{0}]", netImportResponse.HttpResponse.StatusCode);
|
||||
}
|
||||
|
||||
if (indexerResponse.HttpResponse.Headers.ContentType != null && indexerResponse.HttpResponse.Headers.ContentType.Contains("text/html") &&
|
||||
indexerResponse.HttpRequest.Headers.Accept != null && !indexerResponse.HttpRequest.Headers.Accept.Contains("text/html"))
|
||||
if (netImportResponse.HttpResponse.Headers.ContentType != null && netImportResponse.HttpResponse.Headers.ContentType.Contains("text/html") &&
|
||||
netImportResponse.HttpRequest.Headers.Accept != null && !netImportResponse.HttpRequest.Headers.Accept.Contains("text/html"))
|
||||
{
|
||||
throw new NetImportException(indexerResponse, "Indexer responded with html content. Site is likely blocked or unavailable.");
|
||||
throw new NetImportException(netImportResponse, "List responded with html content. Site is likely blocked or unavailable.");
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -42,11 +42,11 @@ public RadarrParser(RadarrSettings settings, ISearchForNewMovie skyhookProxy)
|
|||
return jsonResponse.SelectList(_skyhookProxy.MapMovie);
|
||||
}
|
||||
|
||||
protected virtual bool PreProcess(NetImportResponse indexerResponse)
|
||||
protected virtual bool PreProcess(NetImportResponse netImportResponse)
|
||||
{
|
||||
try
|
||||
{
|
||||
var error = JsonConvert.DeserializeObject<RadarrError>(indexerResponse.HttpResponse.Content);
|
||||
var error = JsonConvert.DeserializeObject<RadarrError>(netImportResponse.HttpResponse.Content);
|
||||
|
||||
if (error != null && error.Errors != null && error.Errors.Count != 0)
|
||||
{
|
||||
|
|
@ -58,9 +58,9 @@ protected virtual bool PreProcess(NetImportResponse indexerResponse)
|
|||
//No error!
|
||||
}
|
||||
|
||||
if (indexerResponse.HttpResponse.StatusCode != System.Net.HttpStatusCode.OK)
|
||||
if (netImportResponse.HttpResponse.StatusCode != System.Net.HttpStatusCode.OK)
|
||||
{
|
||||
throw new HttpException(indexerResponse.HttpRequest, indexerResponse.HttpResponse);
|
||||
throw new HttpException(netImportResponse.HttpRequest, netImportResponse.HttpResponse);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public override INetImportRequestGenerator GetRequestGenerator()
|
|||
|
||||
public override IParseNetImportResponse GetParser()
|
||||
{
|
||||
return new StevenLuParser(Settings);
|
||||
return new StevenLuParser();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -8,12 +8,10 @@ namespace NzbDrone.Core.NetImport.StevenLu
|
|||
{
|
||||
public class StevenLuParser : IParseNetImportResponse
|
||||
{
|
||||
private readonly StevenLuSettings _settings;
|
||||
private NetImportResponse _importResponse;
|
||||
|
||||
public StevenLuParser(StevenLuSettings settings)
|
||||
public StevenLuParser()
|
||||
{
|
||||
_settings = settings;
|
||||
}
|
||||
|
||||
public IList<Movies.Movie> ParseResponse(NetImportResponse importResponse)
|
||||
|
|
@ -47,17 +45,17 @@ public StevenLuParser(StevenLuSettings settings)
|
|||
return movies;
|
||||
}
|
||||
|
||||
protected virtual bool PreProcess(NetImportResponse indexerResponse)
|
||||
protected virtual bool PreProcess(NetImportResponse netImportResponse)
|
||||
{
|
||||
if (indexerResponse.HttpResponse.StatusCode != HttpStatusCode.OK)
|
||||
if (netImportResponse.HttpResponse.StatusCode != HttpStatusCode.OK)
|
||||
{
|
||||
throw new NetImportException(indexerResponse, "Indexer API call resulted in an unexpected StatusCode [{0}]", indexerResponse.HttpResponse.StatusCode);
|
||||
throw new NetImportException(netImportResponse, "StevenLu API call resulted in an unexpected StatusCode [{0}]", netImportResponse.HttpResponse.StatusCode);
|
||||
}
|
||||
|
||||
if (indexerResponse.HttpResponse.Headers.ContentType != null && indexerResponse.HttpResponse.Headers.ContentType.Contains("text/json") &&
|
||||
indexerResponse.HttpRequest.Headers.Accept != null && !indexerResponse.HttpRequest.Headers.Accept.Contains("text/json"))
|
||||
if (netImportResponse.HttpResponse.Headers.ContentType != null && netImportResponse.HttpResponse.Headers.ContentType.Contains("text/json") &&
|
||||
netImportResponse.HttpRequest.Headers.Accept != null && !netImportResponse.HttpRequest.Headers.Accept.Contains("text/json"))
|
||||
{
|
||||
throw new NetImportException(indexerResponse, "Indexer responded with html content. Site is likely blocked or unavailable.");
|
||||
throw new NetImportException(netImportResponse, "StevenLu responded with html content. Site is likely blocked or unavailable.");
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
|
|
@ -67,17 +67,17 @@ public TraktParser(TraktSettings settings)
|
|||
return movies;
|
||||
}
|
||||
|
||||
protected virtual bool PreProcess(NetImportResponse indexerResponse)
|
||||
protected virtual bool PreProcess(NetImportResponse netImportResponse)
|
||||
{
|
||||
if (indexerResponse.HttpResponse.StatusCode != HttpStatusCode.OK)
|
||||
if (netImportResponse.HttpResponse.StatusCode != HttpStatusCode.OK)
|
||||
{
|
||||
throw new NetImportException(indexerResponse, "Indexer API call resulted in an unexpected StatusCode [{0}]", indexerResponse.HttpResponse.StatusCode);
|
||||
throw new NetImportException(netImportResponse, "Trakt API call resulted in an unexpected StatusCode [{0}]", netImportResponse.HttpResponse.StatusCode);
|
||||
}
|
||||
|
||||
if (indexerResponse.HttpResponse.Headers.ContentType != null && indexerResponse.HttpResponse.Headers.ContentType.Contains("text/json") &&
|
||||
indexerResponse.HttpRequest.Headers.Accept != null && !indexerResponse.HttpRequest.Headers.Accept.Contains("text/json"))
|
||||
if (netImportResponse.HttpResponse.Headers.ContentType != null && netImportResponse.HttpResponse.Headers.ContentType.Contains("text/json") &&
|
||||
netImportResponse.HttpRequest.Headers.Accept != null && !netImportResponse.HttpRequest.Headers.Accept.Contains("text/json"))
|
||||
{
|
||||
throw new NetImportException(indexerResponse, "Indexer responded with html content. Site is likely blocked or unavailable.");
|
||||
throw new NetImportException(netImportResponse, "Trakt API responded with html content. Site is likely blocked or unavailable.");
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
|||
Loading…
Reference in a new issue