Coverage for src/lilbee/crawler/backends/crawlberg/__init__.py: 100%
9 statements
« prev ^ index » next coverage.py v7.15.2, created at 2026-11-06 08:17 +0000
« prev ^ index » next coverage.py v7.15.2, created at 2026-11-06 08:17 +0000
1"""The crawlberg backend: builds the fetcher a crawl runs on."""
3from __future__ import annotations
5from lilbee.core.config import cfg
6from lilbee.core.config.enums import CrawlRenderMode
7from lilbee.crawler.backends.crawlberg.fetcher import CrawlbergFetcher
8from lilbee.crawler.fetcher import WebFetcher
9from lilbee.crawler.models import CrawlLogin
11__all__ = ["fetcher_from_config"]
14def fetcher_from_config(render_mode: CrawlRenderMode, login: CrawlLogin) -> WebFetcher:
15 """The fetcher for one crawl, with its browser, user agent, robots.txt and login settings."""
16 return CrawlbergFetcher(
17 render_mode=render_mode,
18 chrome_args=cfg.crawl_browser_extra_args,
19 user_agent=cfg.crawl_user_agent,
20 respect_robots_txt=cfg.crawl_respect_robots_txt,
21 extra_wait_ms=cfg.crawl_browser_extra_wait_ms,
22 login=login,
23 )