]> git.scottworley.com Git - paperdoorknob/blame_incremental - spec.py
Put Texifier in spec
[paperdoorknob] / spec.py
... / ...
CommitLineData
1# paperdoorknob: Print glowfic
2#
3# This program is free software: you can redistribute it and/or modify it
4# under the terms of the GNU General Public License as published by the
5# Free Software Foundation, version 3.
6
7
8from dataclasses import dataclass
9
10from typing import Callable, IO
11
12from bs4.element import Tag
13
14from fetch import Fetcher
15from glowfic import Layout
16from images import ImageStore
17from texify import Texifier
18
19
20# pylint: disable=too-many-instance-attributes
21@dataclass(frozen=True)
22class Spec:
23 url: str
24 fetcher: Fetcher
25 images: ImageStore
26 htmlfilter: Callable[[bytes], bytes]
27 domfilter: Callable[[Tag], None]
28 texifier: Texifier
29 texfilter: Callable[[bytes], bytes]
30 icon_size: float
31 layout: Layout
32 geometry: str | None
33 texout: IO[bytes]
34 log: Callable[[str], None]