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