コード例 #1
0
        public BookInfoProxy(IHttpClient httpClient,
                             ICachedHttpResponseService cachedHttpClient,
                             IGoodreadsSearchProxy goodreadsSearchProxy,
                             IAuthorService authorService,
                             IBookService bookService,
                             IEditionService editionService,
                             IMetadataRequestBuilder requestBuilder,
                             Logger logger,
                             ICacheManager cacheManager)
        {
            _httpClient           = httpClient;
            _cachedHttpClient     = cachedHttpClient;
            _goodreadsSearchProxy = goodreadsSearchProxy;
            _authorService        = authorService;
            _bookService          = bookService;
            _editionService       = editionService;
            _requestBuilder       = requestBuilder;
            _cache  = cacheManager.GetCache <HashSet <string> >(GetType());
            _logger = logger;

            _authorCache = new CachingService(new MemoryCacheProvider(new MemoryCache(new MemoryCacheOptions {
                SizeLimit = 10
            })));
            _authorCache.DefaultCachePolicy = new CacheDefaults
            {
                DefaultCacheDurationSeconds = 60
            };
        }
コード例 #2
0
 public RefreshBookService(IBookService bookService,
                           IAuthorService authorService,
                           IAddAuthorService addAuthorService,
                           IEditionService editionService,
                           IAuthorMetadataService authorMetadataService,
                           IProvideAuthorInfo authorInfo,
                           IProvideBookInfo bookInfo,
                           IRefreshEditionService refreshEditionService,
                           IMediaFileService mediaFileService,
                           IHistoryService historyService,
                           IEventAggregator eventAggregator,
                           ICheckIfBookShouldBeRefreshed checkIfBookShouldBeRefreshed,
                           IMapCoversToLocal mediaCoverService,
                           Logger logger)
     : base(logger, authorMetadataService)
 {
     _bookService                  = bookService;
     _authorService                = authorService;
     _addAuthorService             = addAuthorService;
     _editionService               = editionService;
     _authorInfo                   = authorInfo;
     _bookInfo                     = bookInfo;
     _refreshEditionService        = refreshEditionService;
     _mediaFileService             = mediaFileService;
     _historyService               = historyService;
     _eventAggregator              = eventAggregator;
     _checkIfBookShouldBeRefreshed = checkIfBookShouldBeRefreshed;
     _mediaCoverService            = mediaCoverService;
     _logger = logger;
 }
コード例 #3
0
        public GoodreadsProxy(ICachedHttpResponseService cachedHttpClient,
                              IAuthorService authorService,
                              IBookService bookService,
                              IEditionService editionService,
                              Logger logger,
                              ICacheManager cacheManager)
        {
            _cachedHttpClient = cachedHttpClient;
            _authorService    = authorService;
            _bookService      = bookService;
            _editionService   = editionService;
            _cache            = cacheManager.GetCache <HashSet <string> >(GetType());
            _logger           = logger;

            _requestBuilder = new HttpRequestBuilder("https://www.goodreads.com/{route}")
                              .AddQueryParam("key", new string("gSuM2Onzl6sjMU25HY1Xcd".Reverse().ToArray()))
                              .AddQueryParam("_nc", "1")
                              .SetHeader("User-Agent", "Dalvik/1.6.0 (Linux; U; Android 4.1.2; GT-I9100 Build/JZO54K)")
                              .KeepAlive()
                              .CreateFactory();

            _searchBuilder = new HttpRequestBuilder("https://www.goodreads.com/book/auto_complete")
                             .AddQueryParam("format", "json")
                             .SetHeader("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36")
                             .KeepAlive()
                             .CreateFactory();
        }
コード例 #4
0
 public ImportApprovedBooks(IUpgradeMediaFiles bookFileUpgrader,
                            IMediaFileService mediaFileService,
                            IAudioTagService audioTagService,
                            IAuthorService authorService,
                            IAddAuthorService addAuthorService,
                            IRefreshAuthorService refreshAuthorService,
                            IBookService bookService,
                            IEditionService editionService,
                            IRootFolderService rootFolderService,
                            IRecycleBinProvider recycleBinProvider,
                            IExtraService extraService,
                            IDiskProvider diskProvider,
                            IEventAggregator eventAggregator,
                            IManageCommandQueue commandQueueManager,
                            Logger logger)
 {
     _bookFileUpgrader     = bookFileUpgrader;
     _mediaFileService     = mediaFileService;
     _audioTagService      = audioTagService;
     _authorService        = authorService;
     _addAuthorService     = addAuthorService;
     _refreshAuthorService = refreshAuthorService;
     _bookService          = bookService;
     _editionService       = editionService;
     _rootFolderService    = rootFolderService;
     _recycleBinProvider   = recycleBinProvider;
     _extraService         = extraService;
     _diskProvider         = diskProvider;
     _eventAggregator      = eventAggregator;
     _commandQueueManager  = commandQueueManager;
     _logger = logger;
 }
コード例 #5
0
 public EditionController(
     IEditionService editionService,
     IContractService contractService)
 {
     _editionService  = editionService;
     _contractService = contractService;
 }
コード例 #6
0
 public ManualImportService(IDiskProvider diskProvider,
                            IParsingService parsingService,
                            IRootFolderService rootFolderService,
                            IDiskScanService diskScanService,
                            IMakeImportDecision importDecisionMaker,
                            IAuthorService authorService,
                            IBookService bookService,
                            IEditionService editionService,
                            IProvideBookInfo bookInfo,
                            IMetadataTagService metadataTagService,
                            IImportApprovedBooks importApprovedBooks,
                            ITrackedDownloadService trackedDownloadService,
                            IDownloadedBooksImportService downloadedTracksImportService,
                            IProvideImportItemService provideImportItemService,
                            IEventAggregator eventAggregator,
                            Logger logger)
 {
     _diskProvider                  = diskProvider;
     _parsingService                = parsingService;
     _rootFolderService             = rootFolderService;
     _diskScanService               = diskScanService;
     _importDecisionMaker           = importDecisionMaker;
     _authorService                 = authorService;
     _bookService                   = bookService;
     _editionService                = editionService;
     _bookInfo                      = bookInfo;
     _metadataTagService            = metadataTagService;
     _importApprovedBooks           = importApprovedBooks;
     _trackedDownloadService        = trackedDownloadService;
     _downloadedTracksImportService = downloadedTracksImportService;
     _provideImportItemService      = provideImportItemService;
     _eventAggregator               = eventAggregator;
     _logger = logger;
 }
コード例 #7
0
 public ImportListSyncService(IImportListFactory importListFactory,
                              IImportListExclusionService importListExclusionService,
                              IFetchAndParseImportList listFetcherAndParser,
                              IGoodreadsProxy goodreadsProxy,
                              IGoodreadsSearchProxy goodreadsSearchProxy,
                              IAuthorService authorService,
                              IBookService bookService,
                              IEditionService editionService,
                              IAddAuthorService addAuthorService,
                              IAddBookService addBookService,
                              IEventAggregator eventAggregator,
                              IManageCommandQueue commandQueueManager,
                              Logger logger)
 {
     _importListFactory          = importListFactory;
     _importListExclusionService = importListExclusionService;
     _listFetcherAndParser       = listFetcherAndParser;
     _goodreadsProxy             = goodreadsProxy;
     _goodreadsSearchProxy       = goodreadsSearchProxy;
     _authorService       = authorService;
     _bookService         = bookService;
     _editionService      = editionService;
     _addAuthorService    = addAuthorService;
     _addBookService      = addBookService;
     _eventAggregator     = eventAggregator;
     _commandQueueManager = commandQueueManager;
     _logger = logger;
 }
コード例 #8
0
ファイル: BookModule.cs プロジェクト: tripps82/Readarr
        public BookModule(IAuthorService authorService,
                          IBookService bookService,
                          IAddBookService addBookService,
                          IEditionService editionService,
                          ISeriesBookLinkService seriesBookLinkService,
                          IAuthorStatisticsService authorStatisticsService,
                          IMapCoversToLocal coverMapper,
                          IUpgradableSpecification upgradableSpecification,
                          IBroadcastSignalRMessage signalRBroadcaster,
                          QualityProfileExistsValidator qualityProfileExistsValidator,
                          MetadataProfileExistsValidator metadataProfileExistsValidator)

            : base(bookService, seriesBookLinkService, authorStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster)
        {
            _authorService  = authorService;
            _editionService = editionService;
            _addBookService = addBookService;

            GetResourceAll = GetBooks;
            CreateResource = AddBook;
            UpdateResource = UpdateBook;
            DeleteResource = DeleteBook;
            Put("/monitor", x => SetBooksMonitored());

            PostValidator.RuleFor(s => s.ForeignBookId).NotEmpty();
            PostValidator.RuleFor(s => s.Author.QualityProfileId).SetValidator(qualityProfileExistsValidator);
            PostValidator.RuleFor(s => s.Author.MetadataProfileId).SetValidator(metadataProfileExistsValidator);
            PostValidator.RuleFor(s => s.Author.RootFolderPath).IsValidPath().When(s => s.Author.Path.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.Author.ForeignAuthorId).NotEmpty();
        }
コード例 #9
0
 public RefreshEditionService(IEditionService editionService,
                              IAudioTagService audioTagService,
                              Logger logger)
 {
     _editionService  = editionService;
     _audioTagService = audioTagService;
     _logger          = logger;
 }
コード例 #10
0
 public RefreshEditionService(IEditionService editionService,
                              IMetadataTagService metadataTagService,
                              Logger logger)
 {
     _editionService     = editionService;
     _metadataTagService = metadataTagService;
     _logger             = logger;
 }
コード例 #11
0
 public BookService(IBookRepository bookRepository,
                    IEditionService editionService,
                    IEventAggregator eventAggregator,
                    Logger logger)
 {
     _bookRepository  = bookRepository;
     _editionService  = editionService;
     _eventAggregator = eventAggregator;
     _logger          = logger;
 }
コード例 #12
0
ファイル: ParsingService.cs プロジェクト: whoshoe/Readarr
 public ParsingService(IAuthorService authorService,
                       IBookService bookService,
                       IEditionService editionService,
                       IMediaFileService mediaFileService,
                       Logger logger)
 {
     _bookService      = bookService;
     _editionService   = editionService;
     _authorService    = authorService;
     _mediaFileService = mediaFileService;
     _logger           = logger;
 }
コード例 #13
0
 public ManualImportController(IManualImportService manualImportService,
                               IAuthorService authorService,
                               IEditionService editionService,
                               IBookService bookService,
                               Logger logger)
 {
     _authorService       = authorService;
     _bookService         = bookService;
     _editionService      = editionService;
     _manualImportService = manualImportService;
     _logger = logger;
 }
コード例 #14
0
ファイル: ExtraService.cs プロジェクト: whoshoe/Readarr
 public ExtraService(IMediaFileService mediaFileService,
                     IEditionService editionService,
                     IDiskProvider diskProvider,
                     IConfigService configService,
                     IEnumerable <IManageExtraFiles> extraFileManagers,
                     Logger logger)
 {
     _mediaFileService  = mediaFileService;
     _editionService    = editionService;
     _diskProvider      = diskProvider;
     _configService     = configService;
     _extraFileManagers = extraFileManagers.OrderBy(e => e.Order).ToList();
     _logger            = logger;
 }
コード例 #15
0
 public CandidateService(ISearchForNewBook bookSearchService,
                         IAuthorService authorService,
                         IBookService bookService,
                         IEditionService editionService,
                         IMediaFileService mediaFileService,
                         Logger logger)
 {
     _bookSearchService = bookSearchService;
     _authorService     = authorService;
     _bookService       = bookService;
     _editionService    = editionService;
     _mediaFileService  = mediaFileService;
     _logger            = logger;
 }
コード例 #16
0
 public ContractController(
     IGenreService genreService,
     IContractService contractService,
     IContractResultService contractResultService,
     IEditionService editionService,
     ICardService cardService,
     ISubscriptionService subscriptionService,
     IPaymentService paymentService,
     IPublisherService publisherService
     )
 {
     _genreService          = genreService;
     _contractService       = contractService;
     _contractResultService = contractResultService;
     _editionService        = editionService;
     _cardService           = cardService;
     _subscriptionService   = subscriptionService;
     _paymentService        = paymentService;
     _publisherService      = publisherService;
 }
コード例 #17
0
        public ManualImportModule(IManualImportService manualImportService,
                                  IAuthorService authorService,
                                  IEditionService editionService,
                                  IBookService bookService,
                                  Logger logger)
        {
            _authorService       = authorService;
            _bookService         = bookService;
            _editionService      = editionService;
            _manualImportService = manualImportService;
            _logger = logger;

            GetResourceAll = GetMediaFiles;

            Put("/", options =>
            {
                var resource = Request.Body.FromJson <List <ManualImportResource> >();
                return(ResponseWithCode(UpdateImportItems(resource), HttpStatusCode.Accepted));
            });
        }
コード例 #18
0
 public MetadataProfileService(IMetadataProfileRepository profileRepository,
                               IAuthorService authorService,
                               IBookService bookService,
                               IEditionService editionService,
                               IMediaFileService mediaFileService,
                               IImportListFactory importListFactory,
                               IRootFolderService rootFolderService,
                               ITermMatcherService termMatcherService,
                               Logger logger)
 {
     _profileRepository  = profileRepository;
     _authorService      = authorService;
     _bookService        = bookService;
     _editionService     = editionService;
     _mediaFileService   = mediaFileService;
     _importListFactory  = importListFactory;
     _rootFolderService  = rootFolderService;
     _termMatcherService = termMatcherService;
     _logger             = logger;
 }
コード例 #19
0
 public BookFileMovingService(IEditionService editionService,
                              IUpdateBookFileService updateBookFileService,
                              IBuildFileNames buildFileNames,
                              IDiskTransferService diskTransferService,
                              IDiskProvider diskProvider,
                              IRootFolderWatchingService rootFolderWatchingService,
                              IMediaFileAttributeService mediaFileAttributeService,
                              IEventAggregator eventAggregator,
                              IConfigService configService,
                              Logger logger)
 {
     _editionService            = editionService;
     _updateBookFileService     = updateBookFileService;
     _buildFileNames            = buildFileNames;
     _diskTransferService       = diskTransferService;
     _diskProvider              = diskProvider;
     _rootFolderWatchingService = rootFolderWatchingService;
     _mediaFileAttributeService = mediaFileAttributeService;
     _eventAggregator           = eventAggregator;
     _configService             = configService;
     _logger = logger;
 }
コード例 #20
0
        public BookController(IAuthorService authorService,
                              IBookService bookService,
                              IAddBookService addBookService,
                              IEditionService editionService,
                              ISeriesBookLinkService seriesBookLinkService,
                              IAuthorStatisticsService authorStatisticsService,
                              IMapCoversToLocal coverMapper,
                              IUpgradableSpecification upgradableSpecification,
                              IBroadcastSignalRMessage signalRBroadcaster,
                              QualityProfileExistsValidator qualityProfileExistsValidator,
                              MetadataProfileExistsValidator metadataProfileExistsValidator)

            : base(bookService, seriesBookLinkService, authorStatisticsService, coverMapper, upgradableSpecification, signalRBroadcaster)
        {
            _authorService  = authorService;
            _editionService = editionService;
            _addBookService = addBookService;

            PostValidator.RuleFor(s => s.ForeignBookId).NotEmpty();
            PostValidator.RuleFor(s => s.Author.QualityProfileId).SetValidator(qualityProfileExistsValidator);
            PostValidator.RuleFor(s => s.Author.MetadataProfileId).SetValidator(metadataProfileExistsValidator);
            PostValidator.RuleFor(s => s.Author.RootFolderPath).IsValidPath().When(s => s.Author.Path.IsNullOrWhiteSpace());
            PostValidator.RuleFor(s => s.Author.ForeignAuthorId).NotEmpty();
        }
コード例 #21
0
ファイル: EventService.cs プロジェクト: WikkaLab/TaleEngine
 public EventService(IEventDomainService eventDomainService,
                     IEditionService editionService)
 {
     _eventDomainService = eventDomainService ?? throw new ArgumentNullException(nameof(eventDomainService));
     _editionService     = editionService ?? throw new ArgumentNullException(nameof(editionService));
 }
コード例 #22
0
 public EditionController(IEditionService service)
 {
     _service = service;
 }
コード例 #23
0
 public EditionTagHelper(IEditionService editionService)
 {
     this.editionService = editionService;
 }
コード例 #24
0
ファイル: EditionController.cs プロジェクト: kn1m/briefCore
 public EditionController(IEditionService editionService, IFileSystem fileSystem, IHeaderSettings headerSettings) : base(fileSystem)
 {
     _editionService = editionService ?? throw new ArgumentNullException(nameof(editionService));
     _headerSettings = headerSettings ?? throw new ArgumentNullException(nameof(headerSettings));
 }
コード例 #25
0
 public EditionController(IEditionService editionService)
 {
     _editionService = editionService;
 }
コード例 #26
0
 public EditionsController(IEditionService editionService)
 {
     this.editionService = editionService;
 }
コード例 #27
0
 public EditionController(IEditionService service, IFeatureService featureService) : base(service)
 {
     _service        = service;
     _featureService = featureService;
 }