Пример #1
0
        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);
        }
Пример #2
0
        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);
        }