Fixed: Cleanup NetImport Implementation

This commit is contained in:
Qstick 2019-11-02 17:55:55 -04:00
parent ba83c01b6c
commit 1c91c9939f
9 changed files with 32 additions and 49 deletions

View file

@ -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;

View file

@ -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
};

View file

@ -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)

View file

@ -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;

View file

@ -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;

View file

@ -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;

View file

@ -25,7 +25,7 @@ public override INetImportRequestGenerator GetRequestGenerator()
public override IParseNetImportResponse GetParser()
{
return new StevenLuParser(Settings);
return new StevenLuParser();
}
}
}

View file

@ -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;

View file

@ -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;