# paperdoorknob: Print glowfic # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the # Free Software Foundation, version 3. from dataclasses import dataclass 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]