public DiaryParser(DiaryParserOptions options, ILogger <DiaryParser> logger) { _options = options; _logger = logger; var config = new Configuration().WithCss(); _parser = new HtmlParser(config); TokenSource = new CancellationTokenSource(); _accountParser = new AccountDataParser(_options.DiaryDir, logger); }
public DiaryParser GetParser(ParseTaskDescriptor descriptor) { var options = new DiaryParserOptions(); options.DiaryDir = descriptor.WorkingDir; var cfg = ConfigureLog(descriptor.WorkingDir); var logger = _serviceProvider.GetRequiredService <ILogger <DiaryParser> >(); descriptor.Parser = new DiaryParser(options, logger); descriptor.Parser.WorkFinished += (s, e) => { UnsetLog(cfg); }; return(descriptor.Parser); }