public CsvReportUpdater( HttpClient httpClient, DownloaderConfiguration config, DateTimeOffset defaultCursorValue, IDepthLogger logger) { _httpClient = httpClient; _config = config; _defaultCursorValue = defaultCursorValue; _logger = logger; }
public Downloader( HttpClient httpClient, DownloaderConfiguration config, ICursorFactory cursorProvider, IVisitor visitor, IDepthLogger logger) { _httpClient = httpClient; _config = config; _userAgent = string.IsNullOrWhiteSpace(config.UserAgent) ? GetUserAgent() : config.UserAgent; _cursorProvider = cursorProvider; _visitor = visitor; _logger = logger; }
public async Task <int> InvokeAsync(InvocationContext context) { using var httpClient = new HttpClient(); var config = new DownloaderConfiguration { DataDirectory = context.ParseResult.ValueForOption(_dataDirOption), MaxPages = context.ParseResult.ValueForOption(_maxPagesOption), MaxCommits = context.ParseResult.ValueForOption(_maxCommitsOption), }; var consoleLogger = new ConsoleLogger(_writeLine, context.ParseResult.ValueForOption(_verboseOption)); var depthLogger = new DepthLogger(consoleLogger); var csvReportUpdater = new CsvReportUpdater( httpClient, config, context.ParseResult.ValueForOption(_defaultCursorValueOption), depthLogger); var reports = context.ParseResult.ValueForOption(_reportsOption); if (reports == null || reports.Contains(ReportName.DeletedPackages)) { await csvReportUpdater.UpdateAsync(new DeletedPackagesReportVisitor()); } if (reports == null || reports.Contains(ReportName.CatalogLeafCount)) { await csvReportUpdater.UpdateAsync(new CatalogLeafCountReportVisitor()); } if (reports == null || reports.Contains(ReportName.CatalogLeafCountByType)) { await csvReportUpdater.UpdateAsync(new CatalogLeafCountByTypeReportVisitor()); } return(0); }