from typing import Callable, IO
+from bs4.element import Tag
+
from fetch import Fetcher
+from images import ImageStore
from texify import Texifier
+# pylint: disable=too-many-instance-attributes
@dataclass(frozen=True)
class Spec:
url: str
fetcher: Fetcher
+ images: ImageStore
htmlfilter: Callable[[bytes], bytes]
+ domfilter: Callable[[Tag], None]
texifier: Texifier
+ texfilter: Callable[[bytes], bytes]
+ icon_size: float
+ layout: bytes
+ geometry: str | None
texout: IO[bytes]
+ log: Callable[[str], None]