示例#1
0
        public ReleaseModule(IFetchAndParseRss rssFetcherAndParser,
                             ISearchForReleases releaseSearchService,
                             IMakeDownloadDecision downloadDecisionMaker,
                             IPrioritizeDownloadDecision prioritizeDownloadDecision,
                             IDownloadService downloadService,
                             ISeriesService seriesService,
                             IEpisodeService episodeService,
                             IParsingService parsingService,
                             ICacheManager cacheManager,
                             ILanguageProfileService languageProfileService,
                             IQualityProfileService qualityProfileService,
                             Logger logger) :
            base(languageProfileService, qualityProfileService)
        {
            _rssFetcherAndParser        = rssFetcherAndParser;
            _releaseSearchService       = releaseSearchService;
            _downloadDecisionMaker      = downloadDecisionMaker;
            _prioritizeDownloadDecision = prioritizeDownloadDecision;
            _downloadService            = downloadService;
            _seriesService  = seriesService;
            _episodeService = episodeService;
            _parsingService = parsingService;
            _logger         = logger;

            PostValidator.RuleFor(s => s.IndexerId).ValidId();
            PostValidator.RuleFor(s => s.Guid).NotEmpty();

            GetResourceAll = GetReleases;
            Post("/", x => DownloadRelease(ReadResourceFromRequest()));

            _remoteEpisodeCache = cacheManager.GetCache <RemoteEpisode>(GetType(), "remoteEpisodes");
        }
示例#2
0
 public SeasonSearchService(ISearchForReleases releaseSearchService,
                            IProcessDownloadDecisions processDownloadDecisions,
                            Logger logger)
 {
     _releaseSearchService     = releaseSearchService;
     _processDownloadDecisions = processDownloadDecisions;
     _logger = logger;
 }
示例#3
0
 public EpisodeSearchService(ISearchForReleases releaseSearchService,
                             IProcessDownloadDecisions processDownloadDecisions,
                             IEpisodeService episodeService,
                             IEpisodeCutoffService episodeCutoffService,
                             IQueueService queueService,
                             Logger logger)
 {
     _releaseSearchService     = releaseSearchService;
     _processDownloadDecisions = processDownloadDecisions;
     _episodeService           = episodeService;
     _episodeCutoffService     = episodeCutoffService;
     _queueService             = queueService;
     _logger = logger;
 }
 public MovieSearchService(IMovieService movieService,
                           IMovieCutoffService movieCutoffService,
                           ISearchForReleases releaseSearchService,
                           IProcessDownloadDecisions processDownloadDecisions,
                           IQueueService queueService,
                           Logger logger)
 {
     _movieService             = movieService;
     _movieCutoffService       = movieCutoffService;
     _releaseSearchService     = releaseSearchService;
     _processDownloadDecisions = processDownloadDecisions;
     _queueService             = queueService;
     _logger = logger;
 }
示例#5
0
        public ReleaseModule(IFetchAndParseRss rssFetcherAndParser,
                             ISearchForReleases releaseSearchService,
                             IMakeDownloadDecision downloadDecisionMaker,
                             IPrioritizeDownloadDecision prioritizeDownloadDecision,
                             IDownloadService downloadService,
                             ICacheManager cacheManager,
                             Logger logger)
        {
            _rssFetcherAndParser        = rssFetcherAndParser;
            _releaseSearchService       = releaseSearchService;
            _downloadDecisionMaker      = downloadDecisionMaker;
            _prioritizeDownloadDecision = prioritizeDownloadDecision;
            _downloadService            = downloadService;
            _logger = logger;

            GetResourceAll = GetReleases;
            Post("/", x => DownloadRelease(this.Bind <ReleaseResource>()));

            PostValidator.RuleFor(s => s.DownloadAllowed).Equal(true);
            PostValidator.RuleFor(s => s.Guid).NotEmpty();

            _remoteEpisodeCache = cacheManager.GetCache <RemoteEpisode>(GetType(), "remoteEpisodes");
        }
示例#6
0
        public ReleaseController(IFetchAndParseRss rssFetcherAndParser,
                                 ISearchForReleases releaseSearchService,
                                 IMakeDownloadDecision downloadDecisionMaker,
                                 IPrioritizeDownloadDecision prioritizeDownloadDecision,
                                 IDownloadService downloadService,
                                 IMovieService movieService,
                                 ICacheManager cacheManager,
                                 IProfileService qualityProfileService,
                                 Logger logger)
            : base(qualityProfileService)
        {
            _rssFetcherAndParser        = rssFetcherAndParser;
            _releaseSearchService       = releaseSearchService;
            _downloadDecisionMaker      = downloadDecisionMaker;
            _prioritizeDownloadDecision = prioritizeDownloadDecision;
            _downloadService            = downloadService;
            _movieService = movieService;
            _logger       = logger;

            PostValidator.RuleFor(s => s.IndexerId).ValidId();
            PostValidator.RuleFor(s => s.Guid).NotEmpty();

            _remoteMovieCache = cacheManager.GetCache <RemoteMovie>(GetType(), "remoteMovies");
        }