mirror of
https://github.com/Garmelon/PFERD.git
synced 2023-12-21 10:23:01 +01:00
4b68fa771f
- Renamed module and class because "conductor" didn't make a lot of sense - Used singleton approach (there's only one stdout after all) - Redesigned progress bars (now with download speed!)
23 lines
804 B
Python
23 lines
804 B
Python
from configparser import SectionProxy
|
|
from typing import Callable, Dict
|
|
|
|
from ..authenticator import Authenticator
|
|
from ..config import Config
|
|
from ..crawler import Crawler
|
|
from .ilias import KitIliasCrawler, KitIliasCrawlerSection
|
|
from .local import LocalCrawler, LocalCrawlerSection
|
|
|
|
CrawlerConstructor = Callable[[
|
|
str, # Name (without the "crawl:" prefix)
|
|
SectionProxy, # Crawler's section of global config
|
|
Config, # Global config
|
|
Dict[str, Authenticator], # Loaded authenticators by name
|
|
], Crawler]
|
|
|
|
CRAWLERS: Dict[str, CrawlerConstructor] = {
|
|
"local": lambda n, s, c, a:
|
|
LocalCrawler(n, LocalCrawlerSection(s), c),
|
|
"kit-ilias": lambda n, s, c, a:
|
|
KitIliasCrawler(n, KitIliasCrawlerSection(s), c, a),
|
|
}
|