]> git.scottworley.com Git - paperdoorknob/blame - spec.py
Learning TeX: Keep icon image size in TeX
[paperdoorknob] / spec.py
CommitLineData
23f31879
SW
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
929db576 10from typing import Callable, IO
23f31879 11
8be20b9d
SW
12from bs4.element import Tag
13
23f31879 14from fetch import Fetcher
d2a41ff4 15from glowfic import Layout
cfd0b634 16from images import ImageStore
23f31879
SW
17
18
432bb83b 19# pylint: disable=too-many-instance-attributes
23f31879
SW
20@dataclass(frozen=True)
21class Spec:
22 url: str
23 fetcher: Fetcher
cfd0b634 24 images: ImageStore
929db576 25 htmlfilter: Callable[[bytes], bytes]
8be20b9d 26 domfilter: Callable[[Tag], None]
131deef1 27 texfilter: Callable[[bytes], bytes]
9afdb32a 28 icon_size: float
d2a41ff4 29 layout: Layout
e10b5b6f 30 geometry: str | None
23f31879 31 texout: IO[bytes]
c594c8bf 32 log: Callable[[str], None]